【问题标题】:COUNT (DISTINCT expression)?计数(DISTINCT 表达式)?
【发布时间】:2017-07-21 19:20:56
【问题描述】:

代码:

Select Distinct
    EE.EMPLOYEE_ID,
    EE.COLOR,
    COUNT(DISTINCT EE.COLOR) AS COLOR_COUNT
FROM #EMPLOYEEINFO EE

GROUP BY EE.EMPLOYEE_ID,
         EE.COLOR

我认为这段代码会给我每个员工 ID 的唯一颜色数。但是,所有行的 COLOR_COUNT 都返回 1。

任何帮助都会很棒,谢谢!

【问题讨论】:

  • 编辑您的问题并提供示例数据和所需的结果。

标签: sql count distinct


【解决方案1】:

如果你想要唯一颜色的数量,那么不要在group by 中包含color

SELECT EE.EMPLOYEE_ID, 
       COUNT(DISTINCT EE.COLOR) AS COLOR_COUNT
FROM #EMPLOYEEINFO EE
GROUP BY EE.EMPLOYEE_ID;

另外,在使用GROUP BY 时,您几乎不需要SELECT DISTINCT

【讨论】:

  • 还有办法选择颜色吗?而不是只有计数?
  • @ArjunArun 。 . .在计算不同颜色时选择“颜色”是没有意义的。
猜你喜欢
  • 1970-01-01
  • 2018-01-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-01-02
  • 1970-01-01
  • 2011-06-20
相关资源
最近更新 更多