Dal by se tento příkaz modifikovat tak, aby k současné podmínce přibyly další dvě?
SELECT count(p.id) as c FROM posts AS p WHERE p.poster_id=7 AND (1582453177 - p.posted)<301 AND left( p.message, 21)='Testujeme nějakej zaj' ORDER BY p.posted DESC LIMIT 5
První podmínka:
(1582453177 - p.posted)<301 AND left( p.message, 21)='Testujeme nějakej zaj' )
* Testuje, jestli uživatel během 5 minut odeslal nějaký podobný příspěvek
Druhá podmínka:
* Zjisti jestli uživatel během půl hodiny odeslal více než 10 příspěvků (respektive vrať počet)
Třetí podmínka:
* Zjisti jestli uživatel během 24 hodin neodeslal víc než 25 příspěvků.
Našel jsem, že existuje klauzule HAVING která umožňuje omezit počet záznamů podle toho kolik výsledků najde, ale nepřišel jsem na to jak to skombinovat s WHERE.
Pseudo kód bez HAVING bych si představoval nějak takto ():
SELECT count(p.id) as c FROM posts AS p WHERE p.poster_id=7 AND ( (1582453177 - p.posted)<301 AND left( p.message, 21)='Testujeme nějakej zaj' OR ( (1582453177 - p.posted)<1801 ) AND c>10 ) ORDER BY p.posted DESC LIMIT 5