表中欄位連續重復的記錄保留1個,是處理連續重復的記錄,欄位不連續重復的記錄保留。
比如表a
姓名
---------------
王五
王五
王五
李三
王五
趙四
田強
田強
李三
查詢后結果期望是:
姓名
---------------
王五
李三
王五
趙四
田強
李三
我對SQL只是初步了解,希望高手給個提示,
sql的select陳述句怎么寫?謝謝回復。
uj5u.com熱心網友回復:
這個對于時常進行sql操作的高手應當是手到病除。
謝謝回復。
uj5u.com熱心網友回復:
不是所有重復欄位都保留一個,所以有點難度。sql查詢中能不能保存上一條姓名的中間值?然后與下一條記錄的姓名欄位做相等比較,不相等保留,相等拋棄,直到不相等保留就可以實作。
uj5u.com熱心網友回復:
CREATE TABLE #T (NAME VARCHAR(10))
INSERT INTO #T
SELECT 'A' UNION ALL
SELECT 'A' UNION ALL
SELECT 'A' UNION ALL
SELECT 'B' UNION ALL
SELECT 'A' UNION ALL
SELECT 'C' UNION ALL
SELECT 'D' UNION ALL
SELECT 'D' UNION ALL
SELECT 'A' UNION ALL
SELECT 'A' UNION ALL
SELECT 'B'
WITH CTE
AS
(SELECT *,
ROW_NUMBER() OVER (ORDER BY (SELECT 1)) AS SEQ_1
FROM #T)
SELECT NAME
FROM
(SELECT *,ROW_NUMBER() OVER (PARTITION BY NAME ORDER BY SEQ_1) AS SEQ_2 FROM CTE) AS A
GROUP BY NAME,SEQ_1-SEQ_2
ORDER BY MIN(SEQ_1)
uj5u.com熱心網友回復:
SELECT 姓名 FROM 表a as aWHERE EXISTS
(SELECT 姓名 FROM 表a as b WHERE a.姓名 <> b.姓名)
uj5u.com熱心網友回復:
感謝,RINK_1的回復,我到單位試一下您的 查詢陳述句,不知道我的陳述句SELECT 姓名 FROM 表a as a
WHERE EXISTS
(SELECT 姓名 FROM 表a as b WHERE a.姓名 <> b.姓名)
可不可以實作
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/274948.html
標籤:疑難問題
