Autor Zpráva
nethor
Profil
Tohle je asi triviální, ale nedaří se mi to rozchodit.

Mám dotaz na tabulku SELECT * FROM `table` group BY `nejaky_parametr`.
Potřebuju pomocí SQL zjistit, kolik řádků mi takový dotaz vrátí.
Nezajímá mě, kolik má která skupina záznamů, ale jen počet skupin.

Jak na to?
Kajman
Profil
Pokud sloupec nejaky_parametr neobsahuje null hodnoty, tak lze např.
select count(distinct `nejaky_parametr`) skupin from `table`

Univerzálněji pak
select count(*) skupin from (SELECT `nejaky_parametr` FROM `table` group BY `nejaky_parametr`) t
nethor
Profil
Jasně distinct! To ono.

Děkuju.
Keeehi
Profil
nethor:
Nebo můžeš položit dotaz klasicky a až v aplikaci zjistit, kolik řádků dotaz vrátil.
nethor
Profil
Keeehi:
Tak bych to normálně udělal, ale je to obludně velká tabulka, takže bych překročil MemoryLimit PHP.
Potřeboval jsem to čistě přes SQL. Vyřešeno.
Kajman
Profil
Pamět v php není potřeba. Při dotaze se vrátí jen identifikátor výsledků. A můžete se zeptat kolik řádků má k dispozici onen identifikátor. Spíše to sebere prostředků na straně databáze než dotaz vracející jeden řádek a jeden sloupec.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0