Autor Zpráva
Fanda
Profil *
Potřeboval bych poradit, jak dostat maximální hodnotu z count(). Konkrétně se jedná o SQL dotaz, který by měl zobrazit nejčastější výsledek zápasu tedy maximální hodnotu z tohoto dotazu:

SELECT count( id_zapas ) AS pocet_zapasu, goly_domaci, goly_hoste
FROM tip_zapas
WHERE  id_kola IN ( SELECT id_kola FROM tip_kola WHERE id_sezony = '1')
GROUP BY goly_domaci, goly_hoste


V mysql manuálu jsem našel podobný řešený příklad, ale ne a ne to na něj naroubovat
Joker
Profil
SELECT count( id_zapas ) AS pocet_zapasu, goly_domaci, goly_hoste
FROM tip_zapas
WHERE id_kola IN ( SELECT id_kola FROM tip_kola WHERE id_sezony = '1')
GROUP BY goly_domaci, goly_hoste

...ORDER BY pocet_zapasu DESC LIMIT 1?
Fanda
Profil *
...ORDER BY pocet_zapasu DESC LIMIT 1 bych nerad používal, protože bych tím nepodchytil situaci, kdy si budou dva nejčastější výsledky rovny.
djlj
Profil
Fanda
Tak LIMIT 2. Nenapsals, co chceš aby se stalo, když budou dva různé výsledky stejně často.
Fanda
Profil *
Asi si nerozumíme nebo jsem se špatně vyjádřil: Jde mi o to vypsat nejčastěji se opakující výsledek. Pokud tuto podmínku splní více výsledků, pak je chci vypsat.

Použiju-li LIMIT 1 - nevím jistě zda jiný výsledek se neopakuje stejně často.
Použiju-li LIMIT 2 - budu velmi často vypisovat druhý výsledek zbytečně, protože nebude nejčastěji se opakující.
Kajman_
Profil *
možná něco jako...

SELECT count( id_zapas ) AS pocet_zapasu, goly_domaci, goly_hoste
FROM tip_zapas
WHERE id_kola IN ( SELECT id_kola FROM tip_kola WHERE id_sezony = '1')
GROUP BY goly_domaci, goly_hoste
having pocet_zapasu = (select max(pocet_zapasu) from (SELECT count( id_zapas ) AS pocet_zapasu, goly_domaci, goly_hoste
FROM tip_zapas
WHERE id_kola IN ( SELECT id_kola FROM tip_kola WHERE id_sezony = '1')
GROUP BY goly_domaci, goly_hoste) s)
Joker
Profil
Fanda
Jde mi o to vypsat nejčastěji se opakující výsledek. Pokud tuto podmínku splní více výsledků, pak je chci vypsat.
Tak potom bez limitu...
ORDER BY pocet_zapasu DESC
A ve skriptu vypisovat tak dlouho, dokud není hodnota menší.

Kajman_
Nebude ale výhodnější to řešit ve skriptu, než dva dotazy navíc? (Nevím, ptám se)

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