.學生表 如下:
id號 學號 姓名 課程編號 課程名稱 分數
1 2005001 張三 0001 數學 69
2 2005002 李四 0001 數學 89
3 2005001 張三 0001 數學 69
a: delete from tablename where id號 not in(select min(id號) from
tablename group by 學號,姓名,課程編號,課程名稱,分數)
實驗:create table student2(id int auto_increment primary key,code
varchar(20),name varchar(20));
insert into student2
values(null,'2005001','張三'),(null,'2005002','李四'),(null,'2005001','張三');
//如下語句,mysql報告錯誤,可能刪除依賴後面統計語句,而刪除又導致統計語句結果不一致。
delete from student2 where id not in(select min(id) from
student2 group by name);
//但是,如下語句沒有問題:
select * from student2 where id not in(select min(id) from
student2 group by name);
//於是,我想先把分組的結果做成虛表,然後從虛表中選出結果,最後再將結果作為刪除的條件資料。
delete from student2 where id not in(select mid from (select
min(id) mid
from student2 group by name) as t);
或者:delete from student2 where id not in(select min(id) from
(select * from s
tudent2) as t group by t.name);
主鍵ID流水號
mysql語句 比如想生成pkpk 0000這樣的流水號 pkpk0000,pkpk0001,pkpk0002 利用mysql最大值函式,從第五位開始擷取。select max substring a.book id,5 as maxid from oa xz book 1 a override p...
mysql主鍵id不連續
唯一鍵衝突 事務回滾 批量插入時申請主鍵的策略造成mysql中自增主鍵不連續 批量申請自增主鍵時它的申請數量是乘2遞增的,比如插入4條資料,第一條申請1個主鍵 第二個申請2個滿足第二和三條資料插入時使用,第四條資料插入時還需要再申請一次,這次會分配4個主鍵,但是只用了1個,有3個就浪費了,並出現了i...
刪除除了 id 號不同,其他都相同的學生冗餘資訊
刪除除了 id 號不同,其他都相同的學生冗餘資訊 2.學生表 如下 id 號 學號 姓名 課程編號 課程名稱 分數 1 2005001 張三 0001 數學 69 2 2005002 李四 0001 數學 89 3 2005001 張三 0001 數學 69 create table student...