sql >> Database teknologi >  >> RDS >> Mysql

MySQL:Optegnelser indsat pr. time, for de sidste 24 timer

Hvis du grupperede efter HOUR(time) så skal du bruge HOUR(time) i dine udvalgte udtryk og ikke time . For eksempel:

SELECT HOUR(time), COUNT(*)
FROM `records`
WHERE time > DATE_SUB(NOW(), INTERVAL 24 HOUR)
GROUP BY HOUR(time)
ORDER BY HOUR(time)

Alternativt kan du gruppere efter det udtryk, du ønsker at returnere:

SELECT COUNT(*), FLOOR( TIME_TO_SEC( TIMEDIFF( NOW(), time)) / 3600 )
FROM `records`
WHERE time > DATE_SUB(NOW(), INTERVAL 24 HOUR)
GROUP BY FLOOR( TIME_TO_SEC( TIMEDIFF( NOW(), time)) / 3600 )
ORDER BY FLOOR( TIME_TO_SEC( TIMEDIFF( NOW(), time)) / 3600 )

Hvis du undrede dig, er det sikkert at kalde NOW() flere gange i samme forespørgsel som denne. Fra manualen :




  1. Hvordan kan jeg bruge UUID'er i SQLAlchemy?

  2. Forskelle mellem MySQL og SQL Server

  3. Hvordan spørger man mange til mange forhold efterfølger?

  4. Android:hvordan man uploader billede i mysql ved hjælp af php