Sql 按列分组和按列分组

Sql 按列分组和按列分组,sql,orientdb,Sql,Orientdb,我有一组记录,我想使用一个DATETIME字段按天分组,格式为yyyy MM dd HH:MM:ss 在MySQL中,GROUPBY使用SELECT查询的结果,并在此时应用GROUPBY: 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

我有一组记录,我想使用一个DATETIME字段按天分组,格式为yyyy MM dd HH:MM:ss

在MySQL中,GROUPBY使用SELECT查询的结果,并在此时应用GROUPBY:

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_字段的格式不同

有什么想法吗

谢谢

您的数据格式是yyyy-MM-dd HH:MM:ss

日期从左边的第9个位置出现,因此您可以使用查询

SELECT date_field  FROM my_table GROUP BY LEFT(`date_field`, 9);

希望这能帮助您

我使用LET变量解决了这个问题:

SELECT date_field, COUNT(*) FROM my_table LET $day =  date_field.format('yyyy-MM-dd') GROUP BY $day;

请尝试按日期分组\u字段。格式为'yyyy-MM-dd',在orientDB中不起作用。谢谢,在orientDB中不起作用。我收到以下错误:在位置40处解析命令时出错:无效关键字“DATE\u FIELD”