【问题标题】:Counting duplicates with distinct clause使用 distinct 子句计算重复项
【发布时间】:2016-08-10 07:13:05
【问题描述】:

我有一个查询具有重复标题 (> 1) 的记录,但我希望它只包含 status 列不同的结果。例如,如果两个视频具有相同的标题和相同的状态(即,两个视频的状态=2),则应该只计算一次。如果有 3 个视频,其中两个记录包含相同的状态,则计数应为 2。

这是我目前的查询...

SELECT COUNT(*) AS `count`,`title` FROM `videos` GROUP BY `title` HAVING `count`>1;

【问题讨论】:

  • 你能提供样本数据和想要的结果吗?

标签: mysql


【解决方案1】:

countdistinct 一起使用:

SELECT COUNT(distinct status) AS `count`,`title` 
FROM `videos` 
GROUP BY `title` 
HAVING `count`>1;

【讨论】:

    【解决方案2】:

    试试...

    SELECT COUNT(DISTINCT status) AS `count`,`title` FROM `videos` GROUP BY `title` HAVING `count`>1;
    

    【讨论】:

    • 欢迎来到 Stack Overflow!虽然这段代码 sn-p 可以解决问题,但including an explanation 确实有助于提高帖子的质量。请记住,您正在为将来的读者回答问题,而这些人可能不知道您的代码建议的原因。也请尽量不要用解释性 cmets 挤满你的代码,因为这会降低代码和解释的可读性!
    • 此外,在发布 4-5 分钟前已经发布的答案时,它通常会不受欢迎。这是我已经提供的完全相同的解决方案。 . .
    • @sgeddes,我的道歉伙伴,当我最初阅读这个问题时,没有给出答案。当我在 SQL Studio 上尝试解决方案后回来时,仍然没有答案(页面刷新?)。我将在未来密切关注这一点,并感谢您的提醒。顺便说一句好答案!!!
    • @FrankerZ - 我会回答我认为合适的问题,并留给提出问题的人来决定它的适用性,如果您不喜欢它,请不要阅读它。 ..
    • @PólO'Muilleoir 当它出现在Very Low Quality Post Review Queue 时,很难不读它
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-09-26
    • 2022-01-12
    • 1970-01-01
    • 1970-01-01
    • 2021-09-18
    • 2020-01-16
    • 2011-06-19
    相关资源
    最近更新 更多