【问题标题】:SQL get unique month year combosSQL 获得唯一的月份年份组合
【发布时间】:2011-01-04 12:27:08
【问题描述】:
SELECT     MONTH(sessionStart) AS Expr1, YEAR(sessionStart) AS Expr2
FROM         tblStatSessions
WHERE     (projectID = 187)
GROUP BY sessionStart

这会返回:

11 | 2010

11 | 2010

11 | 2010

12 | 2010

12 | 2010

但我需要它只返回每个实例一次,IE:

11 | 2010

12 | 2010

如果有道理!

【问题讨论】:

    标签: sql unique distinct


    【解决方案1】:

    以下应该是你想要的:

    SELECT     MONTH(sessionStart) AS Expr1, YEAR(sessionStart) AS Expr2
    FROM         tblStatSessions
    WHERE     (projectID = 187)
    GROUP BY MONTH(sessionStart), YEAR(sessionStart)
    

    一般来说,您需要group by 您选择的每个非聚合列。一些 DBMS,如 Oracle,强制执行此操作,即不这样做会导致错误而不是“奇怪”的查询执行。

    【讨论】:

      【解决方案2】:

      试试:

      SELECT     MONTH(sessionStart) AS Expr1, YEAR(sessionStart) AS Expr2
      FROM         tblStatSessions
      WHERE     (projectID = 187)
      GROUP BY Expr1
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-10-30
        • 1970-01-01
        • 2012-12-04
        • 1970-01-01
        • 1970-01-01
        • 2010-12-19
        • 1970-01-01
        • 2016-03-21
        相关资源
        最近更新 更多