Mam tableA
z różnymi wartościami:Łączenie dwóch zapytań SQL na jednym stole
data
------
10
15
20
40
40000
50000
60000
Również muszę zaczerpnąć informacje statystyczne na temat tych danych (i chcę to zrobić w jednym zapytaniu), na Przykład:
select count(data) from tableA where data < 100
union all
select count(data) from tableA where data >= 100
w rezultacie otrzymuję
(No column name)
----------------
4
3
Ale chcę, aby otrzymać wyniki w jednym rzędzie , tak:
Small | Big
---------
4 | 3
Jak to zrobić? Czy to możliwe?
Czy można go łatwo zmienić na pracę z innym wyrażeniem (na przykład "AVG")? – qehgt
Pewnie. Zaktualizowana odpowiedź. –
Wykonanie kwerendy w ten sposób, używając 'case when..' zamiast kwerendy sub kwerendy na liście pól jako innych odpowiedzi, ma tę zaletę, że wykona tylko jedno skanowanie tabeli zamiast dwóch. –