sql如何进行多个字段去重?

如图,我有 这样一份数据

clipboard.png

字段比较多,大约有30个多字段.
我想根据宝贝id 和 日期进行去重处理. 简单的说就是2列去重
我查了一下distinct方法是去重的
但是我执行了如下语句
SELECT distinct 宝贝id FROM taobao.jutiliushi;

clipboard.png

恩所有的字段都没了~,我不知道网上找到这种去重的方法有什么意义~

所以想问下,假如我想针对多个字段去重,同时又能保持表的结构?怎么处理?

阅读 38.9k
5 个回答

你需要的是group by

select * from taobao.jutiliushi group by 宝贝id;

select distinct id,date,....列名 from 表名

SELECT DISTINCT(宝贝id) AS id,日期,宝贝标题,... FROM 表名;

clipboard.png
你只select了宝贝id,出来的结果当然只有宝贝id

SELECT * FROM (SELECT * FROM `表A` GROUP BY 去重字段1) as aa GROUP BY aa.去重字段2
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏