oracle 如何dinstinct两列数据 以及一个max函数的问题

qq_38923601 2017-05-25 12:35:04


这里虽然分别筛选了departhub和desthub中重复的数据,但是筛选后的departhub和desthub之间任然有重复的数据,大神们这个该怎么处理啊。

另: departhub和desthub是在表journey里。

算出total后 只想列出那个最大的值。我在count函数前加max的话会报错“ORA-00937: 不是单组分组函数”。
...全文
581 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
jdsnhan 2017-06-02
  • 打赏
  • 举报
回复
把你的需求再明确下,最好有模拟数据及预期结果
yan_jg 2017-06-01
  • 打赏
  • 举报
回复
我理解的不知道有没有问题 departhub distinct 后数据是 123 count后是3 desthub distinct 后数据 是 345 count后是3 total 后是 6 你想要的是 distinct 这两列后 是12345 要的 total 是 5 如果理解没问题 sql如下 select traveller.givenname||''||traveller.familyname as name, traveller.travellerid,count (distinct j.departAll) as total from traveller , ( select journeyid,travellerid,departhub as departAll from journey union all select journeyid,travellerid,desthub from journey ) j, reservation where j.journeyid = reservation.journeyid and traveller.travellerid = reservation.travellerid group by traveller.givenname||''||traveller.familyname,traveller.travellerid; select max(total) from ( 上述sql );
qq_38884602 2017-05-25
  • 打赏
  • 举报
回复
笨办法是 select name,MAX(TOTAL) FROM (你自己的SQL) group by name

3,497

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 高级技术相关讨论专区
社区管理员
  • 高级技术社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧