2014-02-11 25 views
0

讓我們假設表查詢檢索的字段包含重複值行的id

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,所以我需要找回這些2個IDS使用相同的開始時間值。

,但是當我嘗試使用下面的查詢它只是顯示的第一個值是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 
+1

請先格式化您的查詢,請出示有關正確格式的預期輸出。 – Rohan

回答

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

試試這個.. GROUP_CONCAT(expr)

select group_concat(usr_id) from req group by starttime 
+0

哇,我已經吸取了新的教訓,+1 –

+1

但是這個問題的答案是錯的 –

+0

預期的結果還沒有被提問者指定,需求是滿滿的 –