Autor | Zpráva | ||
---|---|---|---|
ninja Profil |
#1 · Zasláno: 22. 2. 2010, 23:24:21
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 |
#2 · Zasláno: 22. 2. 2010, 23:44:15
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. |
||
Časová prodleva: 14 let
|
0