Autor | Zpráva | ||
---|---|---|---|
nethor Profil |
#1 · Zasláno: 29. 1. 2018, 14:49:17
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 |
#2 · Zasláno: 29. 1. 2018, 14:55:43
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 |
#3 · Zasláno: 29. 1. 2018, 15:03:13
Jasně distinct! To ono.
Děkuju. |
||
Keeehi Profil |
#4 · Zasláno: 29. 1. 2018, 16:11:24
nethor:
Nebo můžeš položit dotaz klasicky a až v aplikaci zjistit, kolik řádků dotaz vrátil. |
||
nethor Profil |
#5 · Zasláno: 29. 1. 2018, 19:38:32
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 |
#6 · Zasláno: 29. 1. 2018, 21:15:11
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.
|
||
Časová prodleva: 6 let
|
0