Autor | Zpráva | ||
---|---|---|---|
I.P.Freely Profil * |
#1 · Zasláno: 18. 4. 2011, 11:06:43
Zdravím,
mám následující tabulku: id nick cislo loc 1 aaa 55 hospoda 2 aaa 66 stan 3 ccc 666 dům 4 ccc 777 věž 5 ccc 555 dům A potřebuji udělat dotaz, který mi sečte počet výskytů duplikátních nicků a zároveň vrátí řádek s největším id.. tedy výsledek by vypadal nějak takto: nick: aaa výskyty: 2 číslo: 66 loc: stan nick: ccc výskyty: 3 číslo: 777 loc: věž Můj momentální dotaz vypadá následovně SELECT COUNT(*) as vyskyty, id, nick, cislo, loc GROUP BY nick ORDER BY id DESC Bohužel to vypadá že mysql nejdřív provede group by a až pak záznamy seřadí, takže mi z group by vyleze špatný řádek, tedy ne ten s největším id pro daný nick... Jde to nějak vyřešit bez použití žrouta výkonu subquery? děkuji za rady |
||
Hmmmm Profil |
#2 · Zasláno: 18. 4. 2011, 11:18:14
Zkus:
SELECT COUNT(*) as vyskyty, MAX(id) as max_id, id, nick, cislo, loc GROUP BY nick ORDER BY id DESC |
||
I.P.Freely Profil * |
#3 · Zasláno: 18. 4. 2011, 14:10:43
MAX jsem použít zkoušel, ale to mi vrátí pouze největší hodnotu u toho sloupce na který ho použiju, ostatní sloupce zůstanou stejné
|
||
Kajman_ Profil * |
#4 · Zasláno: 18. 4. 2011, 17:05:28
Viz. 3. příklad ve faq.
|
||
Časová prodleva: 14 let
|
0