GROUP BY和AS列

时间:2015-03-24 11:22:48

标签: sql orientdb

我有一组记录,我希望白天使用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的格式不同。

有什么想法吗?

由于

2 个答案:

答案 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;