目标:
在表格测试中显示应删除的重复数据
然而,
如果有两个重复数据,例如“3412纽约”。只应在测试表中显示1行。
问题:
不知道怎么做。
请记住,这张表可以是一百万行。
All data from the list
table testing
Region Category Energy
----------------------------------
1235 Delaware candy 5
1235 Delaware candy 5
1235 Delaware candy 5
1235 Delaware candy 5
1235 Delaware candy 5
1235 Delaware candy 5
1235 Delaware candy 5
3125 New Jersey drink 4
3125 New Jersey drink 4
3125 New Jersey drink 4
3125 New Jersey drink 4
3125 New Jersey drink 4
3412 New York food 3
3412 New York food 3
3412 Washington coke 7
3412 california chips 20
3412 california chips 20
3412 california chips 20
3412 california chips 20
Requested result that should display data in table testing
Table testing
Region Category Energy
----------------------------------
1235 Delaware candy 5
1235 Delaware candy 5
1235 Delaware candy 5
1235 Delaware candy 5
1235 Delaware candy 5
1235 Delaware candy 5
3125 New Jersey drink 4
3125 New Jersey drink 4
3125 New Jersey drink 4
3125 New Jersey drink 4
3412 New York food 3
3412 california chips 20
3412 california chips 20
3412 california chips 20
答案 0 :(得分:1)
查看结果
SELECT
Region, Category, Energy
FROM
(
SELECT
Region, Category, Energy,
ROW_NUMBER() OVER (PARTITION BY Region, Category, Energy ORDER BY Region) AS rn
FROm
MyTable
) X
WHERE
X.rn > 1
答案 1 :(得分:0)
因为您没有主键,所以您可以使用group by或distinct重新生成表:
select distinct Region, Category, Energy
into newt
from t
这样可以避免必须识别重复项,然后再次弄清楚如何删除这些行。