Autor | Zpráva | ||
---|---|---|---|
tomka123 Profil |
#1 · Zasláno: 6. 1. 2012, 13:26:05 · Upravil/a: tomka123
Ahoj, potřeboval bych poradit s jedním SQL dotazem. Mam tabulku s diskuzními příspěvky ke článkům.
Mám konkrétně dva dotazy: 1. Potřebuji seřadit články tak, aby byly nahoře ty, které mají nejnovější příspěvek. (+ vypsat pouze takové články, k nimž byl přidán příspěvek za posledních 60 dní) Takto vypadá tabulka: id mediumint(8) rodic mediumint(8) clanek mediumint(8) uzivatel mediumint(8) obsah text pridano datetime Takto vypadá SQL dotaz, který ovšem nepracuje tak, jak potřebuji, tj. nevybere ty nejnovější příspěvky ale naopak od každého článku ty nejstarší příspěvky a podle toho výpis seřadí: SELECT clanek, count( id ) AS pocet FROM zpravodajstvi_diskuze WHERE pridano >= date_sub( now( ) , INTERVAL 60 DAY ) GROUP BY clanek ORDER BY pridano DESC LIMIT 15 2. Potřebuji vypsat pouze takové články, které mají minimálně dva příspěvky. Takže něco v tomto smyslu (tohle ale nefunguje): SELECT clanek, count( id ) AS pocet FROM zpravodajstvi_diskuze WHERE pridano >= date_sub( now( ) , INTERVAL 60 DAY ) AND count( id ) >2 GROUP BY clanek ORDER BY pridano DESC Nevíte někdo co s tím? |
||
Kajman Profil |
#2 · Zasláno: 6. 1. 2012, 13:38:47
SELECT clanek, count(id) AS pocet, max(pridano) posledni_dne FROM zpravodajstvi_diskuze WHERE pridano >= date_sub('2012-01-06', INTERVAL 60 DAY) GROUP BY clanek HAVING pocet >= 2 ORDER BY posledni_dne DESC |
||
tomka123 Profil |
#3 · Zasláno: 6. 1. 2012, 13:46:59
Tak to je super. Díky moc!!!
|
||
Časová prodleva: 12 let
|
0