我有一组记录,我希望白天使用DATETIME
格式的yyyy-MM-dd HH:mm:ss
字段对它们进行分组。
在MySQL中,GROUP BY
使用SELECT
查询的结果并在此时应用GROUP BY
:
SELECT date(date_field) AS d, COUNT(*) FROM my_table GROUP BY d;
OrientDB似乎不对结果应用GROUP BY
:
SELECT date_field.format('yyyy-MM-dd') AS d, COUNT(*) FROM my_table GROUP BY d;
此查询不返回任何内容,因为d
的格式与date_field
的格式不同。
有什么想法吗?
由于
答案 0 :(得分:2)
您的数据格式为yyyy-MM-dd HH:mm:ss
这一天从左边开始,因此您可以使用查询
SELECT date_field FROM my_table GROUP BY LEFT(`date_field`, 9);
希望这会对你有所帮助
答案 1 :(得分:0)
我使用LET变量解决了这个问题:
SELECT date_field, COUNT(*) FROM my_table LET $day = date_field.format('yyyy-MM-dd') GROUP BY $day;