Autor Zpráva
tomka123
Profil
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
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
Tak to je super. Díky moc!!!

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0