Candidate_ID IsProccesd?
22 1
22 0
Candidate_ID IsProccesd?
22 0
22 0
輸出:記錄中刪除
我想查詢該數據
Candidate_ID IsProccesd?
22 1
22 0
Candidate_ID IsProccesd?
22 0
22 0
輸出:記錄中刪除
我想查詢該數據
試試這個:
;WITH ToDelete AS (
SELECT Candidate_ID, IsProcessed,
COUNT(CASE WHEN IsProcessed = 0 THEN 1 ELSE 0 END)
OVER (PARTITION BY Candidate_ID) AS cnt
FROM mytable
)
DELETE FROM ToDelete
WHERE cnt = 2
以上查詢將刪除Candidate_ID
分區,其中有兩條記錄,分別爲IsProcessed = 0
。只要每個Candidate_ID
分區至多有兩條記錄,這將工作。否則,您可能需要調整查詢。
感謝你對我的hrlp @Giorgos Betsos – Akki
@Akki很高興我能幫助。如果它幫助您解決您的問題,請將此標記或任何其他答案標記爲已接受。 –
沒有一個詳細的問題。你可以發佈樣本數據,預期的產出和你到目前爲止嘗試過的嗎? –
我的Candidate_ID對於這兩個行都是22,但是IsProcessed是1和0當它是零並且零刪除記錄或者保持原樣時 – Akki
這並不能解釋這一點。請記住,我們不知道你在這裏做什麼。你需要清楚解釋它。這意味着提供細節。含糊的解釋並不能幫助我們理解你的要求。這裏是一個開始的好地方。 http://spaghettidba.com/2015/04/24/how-to-post-at-sql-question-on-a-public-forum/ –