我是這個主題的新增功能,需要幫助... 如何在查詢中僅隱藏一個SQL查詢中的重複項?例如,我有一個表如何在查詢中爲SQL中的一個字段隱藏重複項?
- 1,122,123,6
- 2,122,156,7
- 3,122,188,6
- 4,101,186,8
,我想表
- 122,123,6
- 空,156,7
- 空,188,6
- 101,186,8
「Emty」 是指該細胞應該是emty。謝謝你的幫助。
我是這個主題的新增功能,需要幫助... 如何在查詢中僅隱藏一個SQL查詢中的重複項?例如,我有一個表如何在查詢中爲SQL中的一個字段隱藏重複項?
,我想表
「Emty」 是指該細胞應該是emty。謝謝你的幫助。
這是一種可能的方式:
DECLARE @t TABLE (col1 INT, col2 INT, col3 INT, col4 INT)
INSERT @t VALUES
(1, 122, 123, 69),
(2, 122, 156, 7),
(3, 122, 188, 6),
(4, 101, 186, 8)
SELECT CASE WHEN ROW_NUMBER() OVER (PARTITION BY col2 ORDER BY col1) = 1 THEN col2 END col2_New
, col3
, col4
FROM @t
ORDER BY
col1
只有col2
第一次出現被它寫在結果集中值(值由col1
升序排列),否則該值爲NULL(在數據庫術語意味着沒有定義的值)。它使用TSQL ROW_NUMBER
函數,你可以閱讀它here。調用ROW_NUMBER
函數包含在CASE ... WHEN ... THEN ... END
條件表達式中,該條件表達式可以僅在出現特定值時才寫出col2
的值。
它的工作原理!非常感謝! – 2013-02-10 13:43:47
太棒了!不客氣,如果您發現這個答案有幫助,您可以將其標記爲正確。你可以接受像[this]這樣的答案(http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work) – 2013-02-10 18:31:19
我可以使用存儲過程嗎? – 2013-02-09 09:42:32