SQL去重重语句怎么写?

我有一个电影数据库,请问怎么用sql语句去重?

id 名称 主演 导演 图片 简介

35 澳门风云 刘德华 王晶 xxxx xxxx
36 仙剑奇侠 胡歌 胡歌 xxxx xxxx
37 澳门风云 周润发 王晶 xxxx xxxx
38 澳门风云 周杰伦 王晶 xxxx xxxx

我菜鸟,比如这个意思,就是“名称”相同id不同35、37、38(去重复,只留一个ID号大的。),其他项不管相同不相同都删除(整条都删除)。这语句怎么写,谢谢大神。

第1个回答  2015-08-15
先将数据转成
id 名称 主演 导演 图片 简介

35 澳门风云 35刘德华 35王晶 35xxxx 35xxxx
36 仙剑奇侠 36胡歌 36胡歌 36xxxx 36xxxx
37 澳门风云 37周润发 37王晶 37xxxx 37xxxx
38 澳门风云 38周杰伦 38王晶 38xxxx 38xxxx

将id与其他字段连接

然后根据名称分组,查询其他字段的最大值
select max(id),名称,max(主演),max(导演),max(图片),max(简介) from 表名 group by 名称

得到
36 仙剑奇侠 36胡歌 36胡歌 36xxxx 36xxxx
38 澳门风云 38周杰伦 38王晶 38xxxx 38xxxx

最后把其他字段前面的id去掉
去掉方法用 substring()
相似回答