• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
黄洪波写点东西的地方
博客园    首页    新随笔    联系   管理    订阅  订阅
Oracle DISTINCT A 排序问题(转)

请问Oracle 中有ID,A栏要怎么读出栏的不重复值,并且用ID来排序,請大家帮帮忙?

 

解决方案:

ID | A 
1 | x 
2 | y 
3 | x 

A栏的不重复值: x, y 
但用ID來排序时 x 的 ID 应用 1 or 3 
所以Oracle 不接受 select distinct A from table order by ID 

可以试试 group by 
例 以最小ID值排序 

SELECT A FROM table GROUP BY A ORDER BY MIN(ID)

原理解释,由于min函数隐式的包含了一个分组函数,将分组之后的ID进行了取最大值。

例如

SELECT A FROM table GROUP BY A ORDER BY MIN(ID)就变成了对

1 | x 
2 | y 
1 | x  进行查询,得到的查询结果应该是

 x 
 y ,

SELECT A FROM table GROUP BY A ORDER BY MIN(ID)就变成了对

3 | x 
2 | y 
3 | x  进行查询,得到的查询结果应该是

 y
 x 

 

 

原文地址:

Oracle DISTINCT A 排序問題

posted on 2015-10-14 16:46  红无酒伤  阅读(2060)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3