Autor | Zpráva | ||
---|---|---|---|
kahi Profil |
#1 · Zasláno: 29. 5. 2007, 17:10:58
Hezký den,
potřebaval bych výjimečně vytáhnout z databáze data ve tomto duchu: tabulka vypadá: (Př.) ID | NAME | SCORE 1 | John | 100 2 | Mike | 80 3 | John | 150 4 | John | 130 5 | Mike | 90 Ven potřebuji dostat od každého NAME jen jeden řádek, a to ten s nejvyšším SCORE, řazeno podle score, desc. Tzn. John, 3, 150 Mike, 5, 90 Bohužel se mi nedaří nikde najít nějakej slušnej návod ke konstrukci dotazů tohoto typu, jen tipuji že tam bude nějakej DISTINCT a GROUP BY, konkrétně to však sám nesplácám. Děkuji prozatím mnohokrát. |
||
Kcko Profil |
#2 · Zasláno: 29. 5. 2007, 19:38:57
SELECT DISTINCT (NAME) , MAX(SCORE) , ID
FROM tabulka GROUP BY NAME ORDER BY SCORE DESC |
||
kahi Profil |
#3 · Zasláno: 29. 5. 2007, 20:54:44
Díky, teď jsem se pro změnu dostal před chybu v syntaxi, kterou nerozlousknu :-).
SELECT DISTINCT (user_nick), MAX (game_score) FROM geo_highscore WHERE ok=1 AND game_version=99 GROUP BY user_nick ORDER BY game_score DESC LIMIT 0, 50; MySQL hlásí: #1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '(game_score) FROM geo_highscore WHERE ok=1 AND game_version=99 GROUP BY user' at line 1 :-| |
||
Kajman_ Profil * |
#4 · Zasláno: 29. 5. 2007, 21:51:22
|
||
Časová prodleva: 17 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0