Suma danej kolumny

0

Mam takie zapytanie, które zwraca wiersza z kursami i ilością użytkowników do nich przypisanych:

SELECT c.name, COUNT(ue.id) as enroled FROM c.course 
JOIN enroling en ON en.id_course = c.id
JOIN user_enroled ue ON ue.enrol_id = en.id 
GROUP BY c.id, cname
ORDER BY c.name

które zwraca mi taką tabelę:

name enroled
KURS 1 15
KURS2 20

Teraz pytanie, jak sprawić, by zsumować kolumnę enroled?

1

Chcesz dodać 15 + 20? Jak zrobisz twoje zapytanie bez grupowania to będziesz miał sumę po całości. Możesz też zrobić tak

select t.name, sum(enroled ) from (
SELECT c.name, COUNT(ue.id) as enroled FROM c.course 
JOIN enroling en ON en.id_course = c.id
JOIN user_enroled ue ON ue.enrol_id = en.id 
GROUP BY c.id, cname
) as t
1

Jaka baza?
Możesz użyć funkcji okna, albo WITH ROLLUP

0

Baza to MSSQL.

UglyMan napisał(a):

Chcesz dodać 15 + 20? Jak zrobisz twoje zapytanie bez grupowania to będziesz miał sumę po całości. Możesz też zrobić tak

select t.name, sum(enroled ) from (
SELECT c.name, COUNT(ue.id) as enroled FROM c.course 
JOIN enroling en ON en.id_course = c.id
JOIN user_enroled ue ON ue.enrol_id = en.id 
GROUP BY c.id, cname
) as t

Niestety nie działa to w SQL SERVER. Czy tam taka składnia jest niepoprawna?

0

sumowanie calosci:

SELECT  COUNT(ue.id) as enroled FROM c.course 
JOIN enroling en ON en.id_course = c.id
JOIN user_enroled ue ON ue.enrol_id = en.id 

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0