HOME > Community Zone > Forum > รบกวนขอคำปรึกษา เรื่อง การเขียนคำสั่ง SQL การลบข้อมูลซ้ำในตารางที่มีมากกว่า 1 แถวให้เหลือเพียงแถวเดียว #ผมใช้ Database Mysql5.6
CREATE TABLE `tbl_data` (
`id` int(11) NOT NULL,
`dt_title` text NOT NULL,
`dt_detail` text NOT NULL,
`cat_id` int(4) NOT NULL,
`create_date` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP
) DEFAULT CHARSET=utf8;
delete tb
from tablename as tb, (select min(unique_key) as min_id from tablename group by สิ่งที่เหมือนกัน ) as tb2
where tb.สิ่งที่เหมือนกัน = tb2.สิ่งที่เหมือนกัน and tb.unique_key <>tb2.min_id
หรือ
ใช้ php หา จำนวนจาก group by ด้วย สิ่งที่เหมือน กัน
ทำการ loop result
delete from tablename where result.สิ่งที่เหมือนกัน limit (จำนวนจาก group by) - 1