请问这个SQL这么写,数据大概在几万条 不多。每一个load都有UNload 对应,这个可以根据B列排序获得

解决方案 »

  1.   

    selectDENSE_RANK() OVER(PARTITION BY  A ORDER BY C ASC ) dense_rank,
    C
    from table
    order by A
    是不是类似这样
      

  2.   


    确实是类似这样,但是你这个是按照A列分组, 我要的是按照A里面一个完整循环分组 (类似:load use ues use unload 做为一个分组,再出现load use ues use unload 作为第二个分组。。) 而不是按照A里面的字段分组  (你的分组肯定是3个 ,所有LOAD一个 所有use一个 所有unload一个)
      

  3.   

    按你右图的意思,c为空的都不要了啊。
    直接在where 语句那里写个限制不为空不行吗。
    select DENSE_RANK() ...
      

  4.   


    确实是类似这样,但是你这个是按照A列分组, 我要的是按照A里面一个完整循环分组 (类似:load use ues use unload 做为一个分组,再出现load use ues use unload 作为第二个分组。。) 而不是按照A里面的字段分组  (你的分组肯定是3个 ,所有LOAD一个 所有use一个 所有unload一个)
    那load,use,unload  每一组数据是通过什么关联的?
      

  5.   


    确实是类似这样,但是你这个是按照A列分组, 我要的是按照A里面一个完整循环分组 (类似:load use ues use unload 做为一个分组,再出现load use ues use unload 作为第二个分组。。) 而不是按照A里面的字段分组  (你的分组肯定是3个 ,所有LOAD一个 所有use一个 所有unload一个)
    那load,use,unload  每一组数据是通过什么关联的?
    没有关联 只是load 表示上传 use表示使用,UNLOAD表示移除。这个表示一个小循环,要对USE中的进行排序。。有多少个load就有多少个排序