Autor | Zpráva | ||
---|---|---|---|
mark009 Profil * |
#1 · Zasláno: 21. 4. 2012, 13:44:30
Dobrý den,
Mám problém zřazením. V DB mám řádky: id day user view 2441 2012-04-21 5 1 2440 2012-04-20 1 0 2439 2012-04-19 2 0 2438 2012-04-18 5 0 2437 2012-04-17 4 0 ........ Když to nechám vypsat pomocí tohohle příkazu: $vyber = MySQL_Query("SELECT user ,DATE_FORMAT(day,'%d.%m.') as day FROM chilli_stats_1_Day GROUP BY DATE_FORMAT(day,'%Y%m%d') DESC limit 20") or die(mysql_error()); Vypíše se mi to takhle: 21.04. | 20.04. | 19.04. | 18.04. | 17.04. ....... 17.04. | 18.04. | 19.04. | 20.04. | 21.04. ....... 22.02. | 23.02. | 24.02. | 25.02. | 26.02. ....... - To jsou starší data.
No chtěl bych vypsat prvních 20 nejnovějších řádku z databáze. |
||
Alphard Profil |
#2 · Zasláno: 21. 4. 2012, 13:50:18
V ukázce jste uvedl
group by místo order by , ale to je asi jen překlep.
Je třeba použít poddotaz, prvně vybrat pomocí limitu 20 nejnovějších a pak je seřadit obráceně. K řazení nepoužívejte date_format(), ničemu nepomůže, jen to brzdí. |
||
mark009 Profil * |
#3 · Zasláno: 21. 4. 2012, 14:01:52
Myslíte něco takového?
("SELECT user ,DATE_FORMAT(day,'%d.%m.') as day FROM chilli_stats_1_Day ORDER BY day DESC limit 20") t order by day, id |
||
Alphard Profil |
#4 · Zasláno: 21. 4. 2012, 15:13:51
Najděte si něco o poddotazech, anglicky subquery.
Základní syntaxe je select * from (SELECT user ,DATE_FORMAT(day,'%d.%m.') as day FROM chilli_stats_1_Day ORDER BY day DESC limit 20) t order by day, id |
||
mark009 Profil * |
#5 · Zasláno: 22. 4. 2012, 23:38:11
Díval jsem se na ty poddotazy,ale nějak nejsem z toho chytrý. nevím jak to nastavit. :(
|
||
Časová prodleva: 9 dní
|
|||
mark009 Profil * |
#6 · Zasláno: 1. 5. 2012, 18:16:15
Udělal jsem to tak,ale píše to že je neznámy sloupec "id"
$vyber = MySQL_Query("SELECT * FROM(SELECT user ,DATE_FORMAT(day,'%d.%m.') as day FROM chilli_stats_1_Day ORDER BY day DESC limit 20) t order by day,id asc") or die(mysql_error()); Kde může být chyba? |
||
Časová prodleva: 12 let
|
0