2012-03-21 69 views
1
Name,Age,Seq 

G,30,1 
G,31,1 
K,28,3 
K,29,3 
k,28,3 
V,,4 
V,28,4 

確保基於SEQ編號的記錄應該是唯一的。 如果seq重複,則必須使用最新值更新現有記錄。確保基於SEQ編號的記錄應該是唯一的?

我是在sql的begineer我怎麼能實現上面的問題陳述?然後

+2

請嘗試一次學習SQL ....如果仍然有任何問題,問問題..... – 2012-03-21 10:45:58

+3

結果應該是什麼樣子? – 2012-03-21 11:19:21

+0

使用:'ROW_NUMBER()over(分區名稱ORDER BY名稱,年齡)'查看'UPDATE''。然後在Name + Seq上添加一個唯一索引。 – 2012-03-21 14:23:27

回答

0

如果表被稱爲t_values你可以沒有明顯的序列號記錄如下: -

SELECT  V.Name,V.Age,V.Seq 
FROM   t_values AS V 
INNER JOIN (
    SELECT  Seq, count(Seq) AS total 
    FROM   t_values 
    GROUP BY  Seq 
    HAVING  count(Seq) > 1 
) AS D 
    ON  V.Seq = D.Seq 

這裏會發生什麼是內選擇獲取所有具有重複的序列值值。然後我們在同一張桌子上做一個內連接,以獲得具有相同Seq值的內連接。

這是否適合您的賬單?

相關問題