SQL Row分组

时间:2011-11-03 17:17:51

标签: mysql sql

我有一张桌子(我省略了不必要的栏目)

id:int | name:string | ts:DateTime

有多个条目。现在我在结果集中想要的是

date:Date  | entries:int

e.g。所有日期都有多少条目。实际上我会制作一张图表。 我需要使用什么SQL查询?我可以创建一个视图

3 个答案:

答案 0 :(得分:1)

这应该做的工作:

SELECT
    DATE(ts) AS date,
    COUNT(*) AS entries
FROM table
GROUP BY date

答案 1 :(得分:0)

你可以尝试

SELECT ts AS `date`, COUNT(id) AS entries
FROM your_table
GROUP BY ts

如果您只需要日期部分,请尝试

SELECT DATE(ts) AS `date`, COUNT(id) AS entries
FROM your_table
GROUP BY DATE(ts)

答案 2 :(得分:0)

要删除时间戳的时间部分,请使用DATE()。按日期排序,按升序排列,以正确的顺序排列。请注意,这将省略没有条目的日期。如果你需要填写,那就变得有些复杂了。

SELECT
  DATE(ts) AS date,
  COUNT(*) AS entries
FROM tbl
GROUP BY DATE(ts)
ORDER BY DATE(ts) ASC