Hola, espero estén bien.
Tengo una tabla con la siguiente estructura:
mysql> show columns from prueba;
+---------+--------------+------+-----+-------------------+-----------------------------+
| Field | Type | Null | Key | Default | Extra |
+---------+--------------+------+-----+-------------------+-----------------------------+
| id | bigint(20) | YES | MUL | NULL | |
| user | varchar(64) | YES | | NULL | |
| msg | varchar(160) | YES | | NULL | |
| status | tinyint(1) | YES | | NULL | |
| fecha | timestamp | NO | | CURRENT_TIMESTAMP | on update CURRENT_TIMESTAMP |
| coment | varchar(60) | YES | | NULL | |
+---------+--------------+------+-----+-------------------+-----------------------------+
su función es que el usuario cuyo ID NO es consecutivo, da de alta, se le asigna un ID azaroso, el usuario pone comentarios y se guarda la fecha del sistema, puede mandar mensajes a otros usuarios etc, bueno el campo status es para poner una bandera de si ya fué despachado o no.
el asunto es que quiero hacer una consulta mediante la cual me diga si un usuario ha escrito el mismo comentario N veces en un lapso de 24 hrs para poder discriminar esos comentarios extras (flooding)
la idea del query sería:
id user mensaje status count(*)
123123 juan01 saludos a todos 1 2
434334 pepito sql es facil NULL 1
545454 _pelon www.forosdelweb.com 1 8
como podría hacer esto?
hasta ahorita he jugado con select user,mensaje, count(*) from prueba group by mensaje;
pero no da los resultados deseados :(