• 发帖数57
  • 粉丝0

此人很懒,什么也没有留下

  • 解答问题超厉害

    经常帮助其他会员答疑

[数据处理] sql

小白福在加油青铜四 显示全部楼层 发表于 2024-5-28 15:36:31 |阅读模式 打印 上一主题 下一主题
1
未解决

【数据处理】 sql

342 5
sql语句先排序然后去重,sql语句怎么写,能不能写个例子语句
回复

使用道具 举报

精彩评论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;

回复

使用道具 举报

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

使用道具 举报

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

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

使用道具 举报

美滋滋皇冠三 显示全部楼层 发表于 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"以及"表" 换成你实际的内容就可以了
回复

使用道具 举报

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

谢谢大佬,明白了
回复

使用道具 举报

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

  • 官方微信

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

    扫码关注
  • 新浪微博

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

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

会员等你来哦

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