查询以检索字段中包含重复值的行的id

时间:2014-02-11 11:17:27

标签: mysql

让我们假设表

id  usr_id    starttime
1   11        2012-12-12 09:00:00
2   12        2012-12-12 09:00:00
3   13        2012-12-13 12:00:00
4   14        2012-11-12 10:00:00

现在usr_id 11和12的启动时间是相同的,所以我需要使用相同的启动时间值检索这两个ID。

但是当我尝试使用以下查询时,它只显示第一个值为11

SELECT
    y.usr_id
FROM req y
INNER JOIN (SELECT usr_id,, COUNT(*) AS CountOf
            FROM req
            GROUP BY starttime
            HAVING COUNT(*)>1
           ) dt ON y.usr_id=dt.usr_id 

2 个答案:

答案 0 :(得分:2)

您可以使用简单的自我联接来获取重复时间的ID;

SELECT t1.usr_id 
FROM req t1
JOIN req t2
  ON t1.starttime = t2.starttime
 AND t1.id <> t2.id;

An SQLfiddle to test with

答案 1 :(得分:1)

试试这个.. GROUP_CONCAT(expr)

select group_concat(usr_id) from req group by starttime