一-去重後,按照漢字的拼音首字母順序排,英文和數字在前
select DISTINCT t.name from ymw_goods t order by convert(t.name using gbk) collate gbk_chinese_ci;
二----去重後,按最新的時間順序來拍
1:最簡單,且字段全部相同,排除其他字段不同;
先對錶按照時間desc排序,在查詢該層使用group by 語句,它會按照分組將你排過序的數據的第一條取出來
select MAX(id)id,name ,MAX(createDate)createDate from ( select * from ymw_goods order by createDate desc) a group by a.name order by createDate desc
2:使用not exists,該方法通過相同名字的不同創建的時間進行比較
select id,name,createDate from ymw_goods a
where not exists (select * from ymw_goods b where a.name = b.name and a.createDate< createDate) ;
3:內關聯
select * from ymw_goods a
inner join (
-- 先查詢出最後一條數據的時間
select id,name, MAX(createDate ) create_date from ymw_goods group by name
) b on a.name = b.name and a.createDate = b.createDate