Witam wszystkich,
Czy w SQLu da się zapisać takie zapytanie SELECT count(m),m from ...
i w wyniku żeby zwróciło jednocześnie liczbę wystąpień m i pobrane m np.
count(m) m
3 ola
3 ala
3 ela
Witam wszystkich,
Czy w SQLu da się zapisać takie zapytanie SELECT count(m),m from ...
i w wyniku żeby zwróciło jednocześnie liczbę wystąpień m i pobrane m np.
count(m) m
3 ola
3 ala
3 ela
Tak. Użyj do tego Group by
ok Group by służy do zliczania poszczególnych wystąpień m , a mi chodzi o to by całościowo zliczyło wszystkie wszystkie m
count(*)
?
A dlaczego nie możesz policzyć ilości rekordów, które ci zapytanie zwróciło? To, co próbujesz zrobić jest po prostu nieoptymalne.
znaczy ja wiem że nie optymalne generalnie chciałem za jednym zamachem żeby zwróciło ile wszystkich wierszy zwróci i żeby jeszcze zwróciło te wiersze ( to na dobrą sprawę są dwa zapytania ale ja chciałbym w jednym to zrobić)
Niekoniecznie musisz wykonywać drugie zapytanie. A nawet jeżeli, to są mechanizmy w różnych DBMS, które pozwalają ci w sposób wydajny uzyskać ilość zwróconych w ostatnim zapytaniu rekordów. Nie ma potrzeby liczyć ich ręcznie.
W czym piszesz swój kod i jakiego dbms używasz?
sql, Oracle 11g
nie wiem czy dobrze zrozumiałem ale generalnie korzystam z sql developera