MySQL组按天和名称

时间:2017-12-11 21:23:03

标签: mysql

我需要一个MYSQL查询,其中日期和名称被分组。

我使用以下查询,但效果不佳:

Thread.Abort()

我希望你能帮助我。 提前谢谢。

我在这里有一个如何看的例子:

SELECT * FROM (
SELECT NAME , COUNT(*) AS COUNT FROM TABLE WHERE DATE between '2017-02-01 00:00:00' AND '2017-02-28 23:59:59'
GROUP BY DAY(DATE), NAME
) AS T
GROUP BY T.NAME;

1 个答案:

答案 0 :(得分:0)

看起来count(distinct ...)可以在这里工作,例如

  SELECT
        NAME
      , COUNT(distinct DAY(DATE)) AS count
  FROM TABLE1
  WHERE DATE >= '2017-02-01' AND DATE < '2017-03-01'
  GROUP BY
        NAME

请不要这样做:

WHERE DATE between '2017-02-01 00:00:00' AND '2017-02-28 23:59:59'

使用它更容易:

  WHERE DATE >= '2017-02-01' AND DATE < '2017-03-01'
  • 您不必计算当月的“最后一天”,而是始终使用下个月的第一天(总是一个:)。
  • 使用>=<对于每种类型的日期/时间数据都是准确的,以及它的存储精确程度。