如截圖所示,對於不同的id,我想選擇所有具有公共updateTime的行。例如,在這裏,所有三個ID都具有相同的updateTime 9:30:02和9:30:04。因此,我想選擇第3行和第4行(對於id 211709),第6和第8行(對於id 301801),第9和第10行(對於id 931801),我想選擇所有這6行。我應該寫什麼sql代碼?提前致謝!!!T-SQL,選擇行
-2
A
回答
3
當你需要返回只更新時間這是所有 ID的共同點,你可以使用這樣的查詢:
SELECT * FROM MyTable WHERE UpdateTime IN (
SELECT DISTINCT UpdateTime
FROM MyTable
GROUP BY UpdateTime
HAVING (SELECT COUNT(DISTINCT c.Id) FROM MyTable c WHERE c.UpdateTime = UpdateTime) = COUNT(DISTINCT Id)
)
如果您想知道HAVING
子句的作用 - 對於每個UpdateTime您檢查具有此UpdateTime的ID的數量是否等於ID的總數。
+0
謝謝大家,很好的幫助! – Michael
1
該查詢會給你所發生的所有更新時間不止一次
Select UpdateTime
From MyTable
Group By UpdateTime
Having Count (*) > 1
使用此作爲一個子查詢
Select *
From MyTable
Where UpdateTime IN
(
Select UpdateTime
From MyTable
Group By UpdateTime
Having Count (*) > 1
)
相關問題
- 1. TSQL一個從2條件選擇行
- 2. TSQL選擇逗號列表到行
- 3. TSQL隨機選擇選擇標準
- 4. 選擇在where子句TSQL
- 5. 使用XLOCK ROWLOCK選擇TSQL死鎖
- 6. TSQL - 選擇計數(*)..到Varchar變量
- 7. TSQL:更新與插入選擇從
- 8. Sybase TSQL如何選擇沒有'-`字符
- 9. TSQL有條件地選擇特定值
- 10. TSQL按周選擇最後一個值?
- 11. 使用TSQL選擇XML節點
- 12. TSQL選擇沒有多餘的文字
- 13. TSQL選擇到一個變量
- 14. TSQL選擇最小和最大的行分組
- 15. 如何選擇行作爲TSQL視圖的列?
- 16. TSQL-加入,有兩個選擇最新的行只
- 17. TSQL選擇一個或多個行加入
- 18. tsql-設置選項
- 19. TSQL - 運行總
- 20. TSQL行到列
- 21. 選擇行 - SQL
- 22. JQGrid行選擇
- 23. 選擇行的
- 24. 選擇行
- 25. 選擇行
- 26. 選擇行
- 27. 選擇一行
- 28. 選擇行
- 29. 選擇行
- 30. JTable行選擇
任何人,任何解決方案?請幫忙,謝謝! – Michael