Mysql
 sql >> база данни >  >> RDS >> Mysql

MySQL:Записи, вмъкнати по часове, за последните 24 часа

Ако сте групирали по HOUR(time) тогава трябва да използвате HOUR(time) във вашите избрани изрази, а не time . Например:

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

Като алтернатива можете да групирате по израза, който искате да върнете:

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 )

В случай, че се чудите, безопасно е да извикате NOW() няколко пъти в една и съща заявка като тази. От ръководството :




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да конфигурирам приложението за пружинно зареждане да използва SSL/TLS през MySQL?

  2. Инсталиране на уеб сървър във FreeBSD 6.0 с Apache 2.2, MySQL 5.0 и PHP 5 – част 3

  3. c++ mysql връзка bad_alloc с помощта на c++ конектор

  4. MySQL ::Изпълнете SQL оператор в променлива

  5. Вмъкнете по подразбиране в колона non null, ако стойността е null