Łączenie SUM w SELECT w jednym rekordzie

0

nWitam.
Jak skonstruować zapytanie aby MySQL zwrócił mi coś takiego:
+------------+------------+
|Suma 1 |Suma 2 | ETC
+------------+------------+
|1291.21 |343 | ETC
+------------+------------+

Wszystkie dane do do zwrócenia wyniku zapytania zawarte są tylko w jednej tabeli.
Próbowałem m.in. tak:
SELECT SUM(kwota) AS 'Suma 1' FROM tabela_name JOIN SUM(kwota) AS 'Suma 2' FROM tabela_name WHERE data< >'0001-01-01';

  • to oczywiście nie działa, ale może powyższa konstrukcja wyjaśni co chciałbym osiągnąć.
    Z góry dzięki.

EDIT:
Działa np. coś takiego:
SELECT SUM(kwota) AS 'suma1', SUM(kwota) AS 'suma 2', SUM(kwota) AS 'suma 3' FROM tabela_name;
tylko gdzie tu wcisnąć różne warunki WHERE dla suma 1, suma 2 i suma 3 ?

1
select (select sum(xxx) sum1 from tab where yyy=zzz) as suma1, (select sum(xxx) from tab where yyy=qqq) as suma2

I tak dalej

ewentualnie sum(case when)

0

Właśnie do tego doszedłem (nawiasy), ale dzięki.

3

Rozwiązanie z CASE powinno być szybsze i to znacznie, czyli:

SELECT 
   sum(case when A.warunek = 1 then A.Kwota else 0 end) as Kwota1,
   sum(case when A.warunek = 2 then A.Kwota else 0 end) as Kwota2,
   sum(case when A.warunek = 3 then A.Kwota else 0 end) as Kwota3
FROM tab a
group by a.warunek

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