从DATETIME字段

时间:2016-01-18 21:55:45

标签: mysql sql

以某种方式可以选择所有行中最常见和最不常见的月份吗? 假设我有一个包含这些值的列日期:

|       date        |
 -------------------
 2016-01-21 01:51:21
 2015-05-21 01:51:21
 2015-04-21 01:51:21
 2014-05-21 01:51:21
 2016-05-21 01:51:21 
 2015-04-21 01:51:21

所以我们的想法是从这张表中选择最常见和最不常见的月份。所以对于第一个,它将是May(出现3次),第二个是1月(仅出现一次)。是否可以通过简单的查询来做到这一点? 最好将日期拆分为3个分隔的列(年,月和日),因为从那个日期开始,我需要同样的事情。

2 个答案:

答案 0 :(得分:2)

你可以分组并计算这样的行:

SELECT month("date"), count(*)
  FROM "table"
 GROUP BY month("date");

答案 1 :(得分:0)

此脚本应该为您提供每个月的计数。

    SELECT DATEPART(mm, date) month
            ,COUNT(DATEPART(mm, date)) monthCount
    FROM [YourTable]

    GROUP BY DATEPART(mm, date)