Sql sever 分组排序
生活随笔
收集整理的這篇文章主要介紹了
Sql sever 分组排序
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
? ? 維護(hù)人事的時(shí)候人事局要求加入一個(gè)新功能,詳細(xì)需求例如以下:加入的人員在同一個(gè)單位的依照順序編號(hào)而且單位也要實(shí)現(xiàn)時(shí)間排序,也就是說有兩個(gè)排序,第一單位名稱排序。先創(chuàng)建的一直在前。然后依照創(chuàng)建時(shí)間依次排序,第二人員排序。每一個(gè)單位的人依照一定的編碼進(jìn)行排序。這里聽了師哥的建議採(cǎi)用的是給每一個(gè)新加的單位獨(dú)立編號(hào),比方第一個(gè)創(chuàng)建的單位是1,然后依次是2、3、4···這樣就能非常好的排序啦。這里我針對(duì)要操作的表新建了一個(gè)觸發(fā)器。以此來實(shí)現(xiàn)這個(gè)功能。詳細(xì)代碼與說明例如以下。
--============================================= --Author: 徐鳳竹 -- Create date:2015年7月7日16:10:04 --Description: 插入數(shù)據(jù)時(shí)查看是否存在該單位名稱,沒有則加入單位名稱,實(shí)現(xiàn)分組查看 --============================================= ALTER TRIGGER[dbo].[trg_addoutstanding]ON [dbo].[T_OutstandingDispatch]AFTER INSERT,UPDATE AS declare @myID varchar(50), @mycompany varchar(50), @mygroupid bigint, @sum bigint, @maxnum bigint --在新插入內(nèi)容中獲取檔案編號(hào),單位名稱 select @myID=number,@mycompany=companyName frominserted if update(companyName) BEGIN --在表中查看有同樣單位名稱的記錄總數(shù) select@sum=COUNT(*) from T_OutstandingDispatch where companyName =@mycompany --查詢表中最大的組號(hào),以便為新單位編組號(hào) select@maxnum=MAX(groupID) from T_OutstandingDispatch --查詢同樣單位的組號(hào)(存在)。以便為新單位編組號(hào) selecttop 1 @mygroupid=groupID fromT_OutstandingDispatch where companyName =@mycompany --假設(shè)有同樣單位名稱的記錄大于1(排除自身),則給新單位賦予同樣組號(hào)。否則按序編寫新組號(hào) if(@sum>1) updateT_OutstandingDispatch setgroupID=@mygroupid where number =@myID else updateT_OutstandingDispatch setgroupID=@maxnum+1 where number =@myID END?
?
?
轉(zhuǎn)載于:https://www.cnblogs.com/yangykaifa/p/6872697.html
總結(jié)
以上是生活随笔為你收集整理的Sql sever 分组排序的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: AlertDialog中的EditTex
- 下一篇: 线性可分 与线性不可分