【发布时间】:2017-09-18 06:27:06
【问题描述】:
我只想选择当天的记录。所以我可以每天看到有多少访客(“bezoekers”)。
这是我使用的代码:
Select FROM_UnixTime((sensordata1.time), '%Y-%c-%d-%H') "Datum (Descending)",
COUNT(DISTINCT address) "Bezoekers"
FROM sensordata1
ORDER BY 1
FROM_UnixTime((sensordata1.time), '%Y-%c-%d-%H') DESC
我尝试了什么:
Select FROM_UnixTime((sensordata1.time), '%Y-%c-%d-%H') "Datum (Descending)",
COUNT(DISTINCT address) "Bezoekers"
FROM sensordata1
WHERE 1, DATE('Datum') = DATE(CURDATE()
ORDER BY 1
FROM_UnixTime((sensordata1.time), '%Y-%c-%d-%H') DESC
我想要什么:
Datum | Bezoekers
2017-4-20-15 | 31
2017-4-20-14 | 34
2017-4-20-13 | 20
2017-4-20-12 | 26
而且我不想要例如 2017-04-21 在那里。 如果我第二天回来,它必须从那天开始,所以你不能设置日期。
【问题讨论】:
-
添加一些示例表数据,以及它的预期结果。
-
我已经展示了我想要的东西?这是预期的结果?
-
WHERE 子句对我来说似乎是错误的...您是否尝试过使用 HAVING...
-
WHERE 1, ...在语法上是错误的(逗号应该是什么意思?)。WHERE DATE('Datum') = DATE(CURDATE()在语法上也是错误的(缺少右括号)。此外,您使用字符串'Datum'(单引号用于字符串文字)并尝试将此字符串转换为日期。顺便说一句:ORDER BY 1 FROM_UnixTime...在语法上也是错误的(删除一个表达式或用逗号分隔两个表达式)。 -
没有任何匹配的样本表数据的预期结果没有好处......
标签: mysql sql time timestamp where-clause