我想从每天的表中获取计数但是时间列很长,所以我不能简单地按时间列分组。我必须按时间列分组。我怎么能这样做?
表:
Column | type
----------------
id | Long (bigint)
name | String (varchar)
time | Long (bigint)
我已经尝试了以下查询,但它不起作用,因为我有很长时间,我想按日期分组。
select time,count(*) from my_table mt group by time;
如何在上述查询中按日期分组?
我还要在hibernate中使用这个查询,所以需要一个也可以用hql编写的查询。
答案 0 :(得分:2)
首先,我们将时间戳转换为日期,然后按日期分组!
select mt.time,count(*) from my_table mt group by DATE( FROM_UNIXTIME( mt.time ));
希望这会奏效。欢呼:)
答案 1 :(得分:1)
SELECT DATE(FROM_UNIXTIME(`time`)) AS date_from_time, COUNT(1)
FROM my_table
GROUP BY date_from_time