删除重复数据,保留最小
delete from 表名 where 主键(id) not in (
select t.min_id from (
select min(id) as min_id from 表名 group by 重复数值的列名
) as t
);
根据b表数据删除a表的数据
delete from a where exists
(select 'X' from b where a.bm=b.bm and a.mc=b.mc);
空白列自动递增
SELECT @rowNO :=0;
UPDATE shhp_total SET id=(@rowNO := @rowNo+1);
根据a表的数据修改b表的数据
UPDATE 表名 a, 表名 b SET a.`修改内容`=b.`修改内容` WHERE a.id` = b.`id;插入代码片
根据a表的id查找b表与a表相同的id,并添加到c表
INSERT INTO c(c.id,c.name)
SELECT b.id,b.name
WHERE a.id=b.id ;
或者
INSERT INTO c
select * from b where Id in (select distinct(id) from a);
如何统计SQL中某字段总数和符合某条件的数量?
select 名称
count(*) as 总数量
count(case when 类型='A' then 类型 else null end) as 类型为A的数
from 表名
group by 名称
查看两个表的不同数据
select * from B where (select count(1) from A where A.ID = B.ID) = 0