mysql 删除可以用子查询吗
发布网友
发布时间:2022-05-01 00:07
我来回答
共2个回答
热心网友
时间:2022-05-01 11:59
mysql
删除可以用
子查询
。
mysql删除子查询中的记录语句:
Sql代码
delete
from
t_5star
where
locationid
in
(
select
e.locationid
from
(
select
a.*
from
t_5star
as
a
,
t_als_data
as
b
where
a.term
=
b.term
)
e
)
关键是子查询中的语句要放到单一e的表中。
比方说
在A表中存在一个字段“name”,
而且不同记录之间的“name”值有可能会相同,
现在就是需要查询出在该表中的各记录之间,“name”值存在重复的项;
Select
Name,Count(*)
From
A
Group
By
Name
Having
Count(*)
>
1
如果还查性别也相同大则如下:
Select
Name,sex,Count(*)
From
A
Group
By
Name,sex
Having
Count(*)
>
1
热心网友
时间:2022-05-01 13:17
不能先select出同一表中的某些值,再update这个表(在同一语句中)
解决方案
--1.把需要删除的数据放到另外的一张表里
create table table_test as select onename from one
group by onename,oneage,onesex,oneaddress having count(onename) > 1;
--2.删除不需要的数据
delete from one where onename in(select onename from table_test);
--3.删除创建的表
drop table table_test;