当前位置:Gxlcms > 数据库问题 > Sql sever 分组排序

Sql sever 分组排序

时间:2021-07-01 10:21:17 帮助过:53人阅读

1,然后依次是234···这样就能很好的排序啦。这里我针对要操作的表新建了一个触发器,以此来实现这个功能,具体代码与说明如下。

--=============================================
--Author:                徐凤竹
-- Create date:2015年7月7日16:10:04
--Description:        插入数据时查看是否存在该单位名称,没有则添加单位名称,实现分组查看
--=============================================
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
--在新插入内容中获取档案编号,单位名称
select @myID=number,@mycompany=companyName   frominserted
if update(companyName)
BEGIN
--在表中查看有相同单位名称的记录总数
select@sum=COUNT(*) from T_OutstandingDispatch where companyName =@mycompany
--查询表中最大的组号,以便为新单位编组号
select@maxnum=MAX(groupID) from T_OutstandingDispatch
--查询相同单位的组号(存在),以便为新单位编组号
selecttop 1 @mygroupid=groupID  fromT_OutstandingDispatch where companyName =@mycompany
--如果有相同单位名称的记录大于1(排除自身),则给新单位赋予相同组号,否则按序编写新组号
if(@sum>1)
updateT_OutstandingDispatch  setgroupID=@mygroupid where number   =@myID
else
updateT_OutstandingDispatch  setgroupID=@maxnum+1 where number =@myID
END


 

 

 

版权声明:本文为博主原创文章,未经博主允许不得转载。

Sql sever 分组排序

标签:sqlserver分组排序

人气教程排行