小白福在加油玄铁三
2024-5-28 15:36:31 发布在问答
【数据处理】 sql
sql语句先排序然后去重,sql语句怎么写,能不能写个例子语句
1882
5
精彩评论5
yhdata_OQXed5rI青铜一
发表于 2024-5-28 16:42:16 显示全部楼层
本帖最后由 yhdata_OQXed5rI 于 2024-5-28 16:44 编辑

SELECT DISTINCT column_name
FROM table_name
ORDER BY column_name ASC;

回复

使用道具 2#

美滋滋白银三
发表于 2024-5-28 17:03:41 显示全部楼层
你能不能提供详细信息,
比如表里有几个字段,按照哪个字段排序?
去重是怎么去重?是完全一致的数据去重,还是根据某个字段去重,如果某个字段去重,那么其余字段如何取舍?
这些因素你要说清楚了,才能给你具体SQL。
回复

使用道具 3#

小白福在加油玄铁三
发表于 2024-5-30 11:18:42 显示全部楼层
美滋滋 发表于 2024-5-28 17:03
你能不能提供详细信息,
比如表里有几个字段,按照哪个字段排序?
去重是怎么去重?是完全一致的数据去重, ...

比如有3个字段,1,2,3,先根据2降序,然后1去重
回复

使用道具 4#

美滋滋白银三
发表于 2024-5-30 11:41:15 显示全部楼层
用实际数据举例吧
比如有三个字段,分别是字段A,字段B,字段C
看你的说明,字段C应该是没有实际用处的,对排序和去重没有任何影响,那么我们只关注字段A和字段B
举例字段A和字段B的数据如下
字段A-1    90
字段A-1    95
字段A-2    88
字段A-2    80
那么你最终想留下的数据是下面两条数据吗?
字段A-1    95
字段A-2    88

如果是上面的情况,那么可以用下面的SQL
select tmp.字段A,tmp.字段B,tmp.字段C from (
select 字段A,字段B,字段C,
row_number() over (partition by 字段A order by 字段B desc) cno
from 表
) tmp where tmp.cno = 1

你把上面的SQL中对应的"字段A","字段B","字段C"以及"表" 换成你实际的内容就可以了
回复

使用道具 5#

小白福在加油玄铁三
发表于 2024-5-30 17:01:20 显示全部楼层
美滋滋 发表于 2024-5-30 11:41
用实际数据举例吧
比如有三个字段,分别是字段A,字段B,字段C
看你的说明,字段C应该是没有实际用处的,对 ...

谢谢大佬,明白了
回复

使用道具 6#

高级模式
您需要登录后才可以回帖 登录 | 免费注册

  • 官方微信

    欢迎关注永洪服务号!收费为0,价值无限

    扫码关注
  • 新浪微博

    让每位用户轻松挖掘数据价值!

    访问新浪微博
  • 智能客服
100W

用户等你来哦

Copyright   ©2012-2025  北京永洪商智科技有限公司  (京ICP备12050607) 京公网安备110110802011451号 |《永洪社区协议》
返回顶部