MYSQL-實現sqlserver- row_number() over(partition by order by) 分組排序功能

來源:互聯網
上載者:User

標籤:

sqlserver:

with Result as    (        select SUM(F_DayValue) AS F_Value,F_ZZ_ttBuildID,F_EnergyItemCode         from T_EC_EnergyItemDayResult                where F_EnergyItemCode like ‘%000‘        and F_StartDay>=@ldStartDate and F_StartDay<=@ldEndDate        and F_ZZ_ttBuildID IN (select F_BuildID from T_BD_BuildBaseInfo)        group by F_ZZ_ttBuildID,F_EnergyItemCode    )    select a.F_Value,a.F_ZZ_ttBuildID,b.F_BuildName,a.F_EnergyItemCode,    ROW_NUMBER() over(partition by a.F_EnergyItemCode order by a.F_Value desc) as nsort     from Result a    left join T_BD_BuildBaseInfo b on a.F_ZZ_ttBuildID=b.F_BuildID

mysql:

CREATE TEMPORARY TABLE IF NOT EXISTS Result    (     select SUM(F_DayValue) AS F_Value,F_ZZ_ttBuildID,F_EnergyItemCode         from T_EC_EnergyItemDayResult                where F_EnergyItemCode like ‘%000‘        and F_StartDay>=V_ldStartDate and F_StartDay<=V_ldEndDate        and F_ZZ_ttBuildID IN (select F_BuildID from T_BD_BuildBaseInfo)        group by F_ZZ_ttBuildID,F_EnergyItemCode    );CREATE TEMPORARY TABLE IF NOT EXISTS TMP01    (     select a.F_Value,a.F_ZZ_ttBuildID,b.F_BuildName,a.F_EnergyItemCode    from Result a     left join T_BD_BuildBaseInfo b on a.F_ZZ_ttBuildID=b.F_BuildID    ); select F_Value,F_ZZ_ttBuildID,F_BuildName,F_EnergyItemCode,nsort from ( select heyf_tmp.F_Value,heyf_tmp.F_ZZ_ttBuildID,heyf_tmp.F_BuildName,heyf_tmp.F_EnergyItemCode,@rownum:=@rownum+1 , if(@pdept=heyf_tmp.F_EnergyItemCode,@rank:=@rank+1,@rank:=1) as nsort, @pdept:=heyf_tmp.F_EnergyItemCode from ( select F_Value,F_ZZ_ttBuildID,F_BuildName,F_EnergyItemCode from TMP01 order by F_EnergyItemCode ASC ,F_Value desc) heyf_tmp ,(select @rownum :=0 , @pdept := null ,@rank:=0) a) T;

 

MYSQL-實現sqlserver- row_number() over(partition by order by) 分組排序功能

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.