【问题标题】:Selecting duplicate entries from a table and getting all the fields from the duplicate rows从表中选择重复条目并从重复行中获取所有字段
【发布时间】:2011-09-20 12:17:52
【问题描述】:

我有一张这样的桌子。

id  day1    day2    day3
1   411     523     223
2   413     554     245
3   417     511     209
4   420     515     232
5   422     522     212
6   483     567     212
7   456     512     256
8   433     578     209
9   438     532     234
10  418     555     223
11  460     510     263
12  453     509     245
13  441     524     233
14  430     543     261
15  456     582     222
16  444     524     241
17  478     511     211
18  421     583     222

我想选择在第 2 天具有重复值的所有 ID。 我在做

select day2,count(*) from resultater group by day having count(*)>1;

是否可以列出组内的所有 ID?

【问题讨论】:

    标签: mysql sql count having


    【解决方案1】:
    select day2,count(*), group_concat(id)
        from resultater
        group by day
        having count(*)>1;
    

    应该可以解决问题。

    【讨论】:

    • 确实如此,谢谢!现在,如果我要在另一个查询中使用这些 ID,我需要一个带有解析器的脚本吗?
    • 不,在这种情况下,您最好在第 2 天触发 - 或者将上面的查询嵌入为子查询。类似select ... from ... where day2 in (select day2 from resultater group by day having count(*)>1);
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-04-26
    • 1970-01-01
    • 2020-11-03
    • 1970-01-01
    • 2013-02-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多