对于像
我手头只有SQLite,我想计算每天每小时的订单计数,表中有以下列:orderID, order_datetime(yyyy-mm-dd hh:mm:ss), location
SELECT
DATEPART('%H', order_datetime) as 'HOUR',
COUNT(*) as 'ORDERPERHOUR'
FROM vanorder
GROUP BY DATEPART('%H', order_datetime);
我收到错误'no such function: DATEPART',我如何在sqlite中实现这一点?谢谢。
在SQLite中,等效使用STRFTIME()
:
SELECT STRFTIME('%H', order_datetime) as hour
COUNT(*) as ORDERPERHOUR
FROM vanorder
GROUP BY STRFTIME('%H', order_datetime);
如果你打算使用SQLite,你应该熟悉SQLite函数。
您可以使用SQLite的strftime()
函数与正确的语法和格式字符串:
SELECT strftime('%Y-%m-%d %H', order_datetime) hour,
COUNT(*) ORDERPERHOUR
FROM vanorder
GROUP BY hour;
对于像
'2021-07-28 15:32:12'
这样的时间戳,strftime('%Y-%m-%d %H', order_datetime)
将返回2021-07-28 15
,这是您想要的。如果您希望看到'2021-07-28 15:00:00'
这样的值,那么更改为:
strftime('%Y-%m-%d %H:00:00', order_datetime)