Autor Zpráva
ninja
Profil
Mám tabulku se sloupci ID a "hodnota" (int). Nad tím dělám agregovaný dotaz ve stylu:

SELECT AVG(hodnota) AS prumer FROM tabulka GROUP BY id ORDER BY prumer;


K tomu bych rád získal pořadí jedné konkrétní hodnoty z tabulky vůči ostatním řádkům (pořadí určeno dle hodnota). Tedy pokud hodnoty u řádků v tabulce jsou 1, 2, 3, 10,11 a má hledaná hodnota je 6, očekávám výsledek 4.

Existuje na to elegantní řešení?
TomášK
Profil
SELECT AVG(hodnota), SUM(hodnota < 6)+1 FROM ...

Je to založené na faktu, že boolean má v MySQL hodnotu 1, pokud je podmínka splněná. Ale vůbec si nejsem jistý, že to bude rychlejší než dva dotazy, spíš naopak.

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