2012-03-21 60 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值的内连接。

这是否适合您的账单?

相关问题