SQL 语句去掉重复问题!

2025-02-23 04:22:55
推荐回答(5个)
回答1:

SQL>delete
cz
where
(id,forecid)
in
(select
id,forecid
from
table
group
by
id,forecid
having
count(*)>1)
and
rowid
not
in
(select
min(rowid)
from
table
group
by
id,forecid
having
count(*)>1);
SQL>delete
table
where
rowid
not
in(select
min(rowid)
from
cz
group
by
id,forecid
这两个方法都可以,适用于oracle删除大量重复数据!

回答2:

SELECT
id,
FroecID
FROM
Table_A
INNER
JOIN
(
SELECT
COUNT(id)
AS
Total,
FroecID
FROM
Table_A
)
AS
B
ON
A.FroecID
=
B.FroecID
WHERE
B.Total
>
0
试试。
另外,一楼那个,就算你用我回答别人的时候用的代码也不要这么直接的复制粘贴好吧?嗯,话说过来你好歹自己加了最后的一句话。

回答3:

1、
UPDATE
a
SET
b
=
‘姐妹’
WHERE
id
IN
(
SELECT
TOP
2
id
FROM
a
WHERE
b
=
'兄弟'
ORDER
BY
id
ASC
)
AND
id
<>
(SELECT
TOP
1
id
FROM
a
WHERE
b
=
'兄弟'
ORDER
BY
id
ASC)
2、
UPDATE
a
SET
b
=
‘姐妹’
WHERE
id
IN
(
SELECT
TOP
3
id
FROM
a
WHERE
b
=
'兄弟'
)
以上SQL适用
MS
SQL
SERVER
回答完毕,希望对你的提问有帮助,如果满意请采纳o(∩_∩)o...哈哈

回答4:

是要删除重复的行吗?
select
min(id)
from
Table_A
group
by
FroecID
---以FroecID分组取得最小的ID,这样保证所有的FroecID都在查询的结果中
然后就可以执行删除动作了
delete
from
Table_A
WHERE
id
not
in
(select
min(id)
from
Table_A
group
by
FroecID)

回答5:

是用distinct关键字消除列中的重复项!
如:
select
distinct
FroecID
from
表名