文档章节

union all 关于order by ,添加序号,获取某个数据在序列中的位置

一夜
 一夜
发布于 2016/11/28 10:26
字数 295
阅读 144
收藏 0

order by 数据库默认为sql结束,使用with..as 进行操作,序号使用函数row_number() over(ORDER BY s1.reward desc)

with s1 as
 (select s2.wechat_nickname,
         s2.wechat_photo,
         s1.premium,
         s1.reward,
         (select count(*)
           from (select sum(su.reward) reward,
                        st.shop_user_id shop_user_id,
                        count(st.shop_user_id) count,
                        sum(st.premium) premium
                   from SHOP_ACTIVITY_TRADE st,
                        (select sum(a.reward) reward, b.policyno
                           from SHOP_ACTIVITY_REWARD a, SHOP_ACTIVITY_TRADE b
                          where a.policyno = b.policyno
                          group by b.policyno
                          order by sum(a.reward) desc) su
                  where st.policyno = su.policyno
                  group by st.shop_user_id) s3
          where s3.reward >=
                (select sum(su.reward) reward
                   from SHOP_ACTIVITY_TRADE st,
                        (select sum(a.reward) reward, b.policyno
                           from SHOP_ACTIVITY_REWARD a, SHOP_ACTIVITY_TRADE b
                          where a.policyno = b.policyno
                            and b.shop_user_id = '980'
                          group by b.policyno
                          order by sum(a.reward) desc) su
                  where st.policyno = su.policyno
                  group by st.shop_user_id)) inde 
                  
                  from
                 (select sum(su.reward) reward,
                        st.shop_user_id shop_user_id,
                        count(st.shop_user_id) count,
                        sum(st.premium) premium
                   from SHOP_ACTIVITY_TRADE st,
                        (select sum(a.reward) reward, b.policyno
                           from SHOP_ACTIVITY_REWARD a, SHOP_ACTIVITY_TRADE b
                          where a.policyno = b.policyno
                            and b.shop_user_id = '980'
                          group by b.policyno
                          order by sum(a.reward) desc) su
                  where st.policyno = su.policyno
                  group by st.shop_user_id) s1, shop_activity_user s2
          where s1.shop_user_id = s2.shop_user_id
  ),
s2 as
 (
 select s2.wechat_nickname,
         s2.wechat_photo,
         s1.premium,
         s1.reward,
         row_number() over(ORDER BY s1.reward desc) inde
    from (select sum(su.reward) reward,
                 st.shop_user_id shop_user_id,
                 count(st.shop_user_id) count,
                 sum(st.premium) premium
            from SHOP_ACTIVITY_TRADE st,
                 (select sum(a.reward) reward, b.policyno
                    from SHOP_ACTIVITY_REWARD a, SHOP_ACTIVITY_TRADE b
                   where a.policyno = b.policyno
                   group by b.policyno) su
           where st.policyno = su.policyno 
           group by st.shop_user_id
           order by sum(su.reward) desc) s1,
         shop_activity_user s2
   where s1.shop_user_id = s2.shop_user_id
   order by s1.reward desc
   )

select *
  from s1
union all
select * from s2;

© 著作权归作者所有

一夜
粉丝 1
博文 32
码字总数 3456
作品 0
东城
私信 提问
UNION中ORDER By的使用

遇到的问题: 一个sql中,union了几个子查询。单独执行每个子查询都没问题,但union后执行,报 ORA-00904: "xxx": invalid identifier 关于union的使用: SQL: UNION Query: http://www.tec...

xiaoqiang_sea
2017/05/04
0
0
sql安全性问题 慢慢更

部分工具 AWVS 、APP scan 、 sqlmap(神器,python) dvwa学习漏洞的测试环境,有时间装一下试试 0. order by num 获取查询字段数目 今天才知道 order by num 代表标的第num个colum来排序;如...

just_wkj
2015/12/30
21
0
python中那些双下划线开头得函数和变量

python中那些双下划线开头得函数和变量--转载 Python中下划线---完全解读 Python 用下划线作为变量前缀和后缀指定特殊变量 _xxx 不能用’from module import *’导入 xxx 系统定义名字 xxx ...

AltBoy
2017/07/10
0
0
递归 Postgres 查询

介绍 在Nilenso,哥在搞一个 (开源的哦!)用来设计和发起调查的应用。 下面这个是一个调查的例子: 在内部,它是这样表示滴: 一个调查包括了许多问题(question)。一系列问题可以归到(可选...

oschina
2013/06/25
1K
0
MySQL--SQL执行分析工具

4.1 执行查询的顺序 书写的顺序: Select distinct selectlist From table Left join tab on leftcondition Where wherecondition Group by groupbylist Havaing havingcondition Order by ......

BtWangZhi
03/04
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Replugin借助“UI进程”来快速释放Dex

public static boolean preload(PluginInfo pi) { if (pi == null) { return false; } // 借助“UI进程”来快速释放Dex(见PluginFastInstallProviderProxy的说明) return PluginFastInsta......

Gemini-Lin
今天
4
0
Hibernate 5 的模块/包(modules/artifacts)

Hibernate 的功能被拆分成一系列的模块/包(modules/artifacts),其目的是为了对依赖进行独立(模块化)。 模块名称 说明 hibernate-core 这个是 Hibernate 的主要(main (core))模块。定义...

honeymoose
今天
4
0
CSS--属性

一、溢出 当内容多,元素区域小的时候,就会产生溢出效果,默认是纵向溢出 横向溢出:在内容和容器之间再套一层容器,并且内部容器要比外部容器宽 属性:overflow/overflow-x/overflow-y 取值...

wytao1995
今天
4
0
精华帖

第一章 jQuery简介 jQuery是一个JavaScript库 jQuery具备简洁的语法和跨平台的兼容性 简化了JavaScript的操作。 在页面中引入jQuery jQuery是一个JavaScript脚本库,不需要特别的安装,只需要...

流川偑
今天
7
0
语音对话英语翻译在线翻译成中文哪个方法好用

想要进行将中文翻译成英文,或者将英文翻译成中文的操作,其实有一个非常简单的工具就能够帮助完成将语音进行翻译转换的软件。 在应用市场或者百度手机助手等各大应用渠道里面就能够找到一款...

401恶户
今天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部