在关系数据库的世界里,重复(行)和 NULL 一样,都不受欢迎 A。人们想了很多办法来排除掉重复(行)。如下图一张商品表,现在假设在这张表里,“橘子”这种商品存在重复。可怕的是,这张表里连主键都没有(其实是根本没法设置主键)。我们现在就需要马上清理一下,去掉重复(行)。
-- 删除重复行 :使用关联子查询
DELETE FROM Products
WHERE rowid < ( SELECT MAX(P2.rowid)
FROM Products P2
WHERE Products.name = P2. name
AND Products.price = P2.price ) ;
这样的方法也就能把重复的(行)数据删除了,但是这种方法SQL执行起来效率不高,但是能达到最终结果,下一期结合本案例给大家讲解另一种方法,提高SQL执行效率。
上面的方法是删除,下面这种方法是查询出唯一的数据行,代码如下:
SELECT DISTINCT 列名称 FROM 表名称
---在列名称前填写 distinct 这个值,就可以查询到当前列不同的值。
你学会了吗,关注我一起学SQL。