sql如何添加序号
借用一下zjcxc的例子
DECLARE @t TABLE(Item varchar(10),Color varchar(10),Quantity int)
INSERT @t SELECT 'Table','Blue',124
UNION ALL SELECT 'Table','Red', -23
UNION ALL SELECT 'Chair','Blue',101
UNION ALL SELECT 'Chair','Red', -90
--统计
SELECT Item,Color,Quantity
FROM(
--明细
SELECT Item,Color,Quantity=SUM(Quantity)
,s1=0,s2=Item,s3=0
FROM @t
GROUP BY Item,Color
UNION ALL
--各Item合计
SELECT '',Item+' 合计',Quantity=SUM(Quantity)
,s1=0,s2=Item,s3=1
FROM @t
GROUP BY Item
UNION ALL
--总计
SELECT '总计','',Quantity=SUM(Quantity)
,s1=1,s2='',s3=1
FROM @t
)a ORDER BY s1,s2,s3
/*--结果
Item Color Quantity
-------------- ---------------------- -----------
Chair Blue 101
Chair Red -90
Chair 合计 11
Table Red -23
Table Blue 124
Table 合计 101
总计 112
--*/
/*但我想给结果加个序号*/
/*--结果
id Item Color Quantity
-------------- ---------------------- -----------
1 Chair Blue 101
2 Chair Red -90
Chair 合计 11
1 Table Red -23
2 Table Blue 124
Table 合计 101
总计 112
--*/
谢谢!!
DECLARE @t TABLE(Item varchar(10),Color varchar(10),Quantity int)
INSERT @t SELECT 'Table','Blue',124
UNION ALL SELECT 'Table','Red', -23
UNION ALL SELECT 'Chair','Blue',101
UNION ALL SELECT 'Chair','Red', -90
--统计
SELECT Item,Color,Quantity
FROM(
--明细
SELECT Item,Color,Quantity=SUM(Quantity)
,s1=0,s2=Item,s3=0
FROM @t
GROUP BY Item,Color
UNION ALL
--各Item合计
SELECT '',Item+' 合计',Quantity=SUM(Quantity)
,s1=0,s2=Item,s3=1
FROM @t
GROUP BY Item
UNION ALL
--总计
SELECT '总计','',Quantity=SUM(Quantity)
,s1=1,s2='',s3=1
FROM @t
)a ORDER BY s1,s2,s3
/*--结果
Item Color Quantity
-------------- ---------------------- -----------
Chair Blue 101
Chair Red -90
Chair 合计 11
Table Red -23
Table Blue 124
Table 合计 101
总计 112
--*/
/*但我想给结果加个序号*/
/*--结果
id Item Color Quantity
-------------- ---------------------- -----------
1 Chair Blue 101
2 Chair Red -90
Chair 合计 11
1 Table Red -23
2 Table Blue 124
Table 合计 101
总计 112
--*/
谢谢!!
...全文
相关推荐
SQL Server 2008怎样添加自增列实现自增序号
在SQL Server 2008中,当构建数据库应用如《机房收费系统》时,有时需要在表中添加自增列以维护数据的唯一顺序。自增列能够确保每个新记录自动获得一个递增的数值,这对于许多业务场景至关重要。本文
SQL为查询的结果加上序号(ROW_NUMBER) 合并多个查询结果
在SQL查询中,有时我们需要为结果集中的每一行添加一个唯一的序号,以便于管理和展示数据。这通常可以通过使用窗口函数ROW_NUMBER()来实现。ROW_NUMBER()是SQL标准的一部分,允许我们
在查询中生成序号列
在数据库管理中,有时我们需要在查询结果中添加一个序列号列,这可以帮助我们更好地组织数据,便于阅读和分析。在Access数据库中,可以利用SQL语言的内置函数来实现这一功能。
SqlServer 序号列的实现方法
它极大地提高了SQL Server在处理序号列时的效率和便利性。
MySQL查询添加自增序号[项目源码]
这种技术尤其适用于那些缺少内置行号生成功能的数据库显示工具,通过在SQL查询中添加自定义的行号,能够方便地对查询结果进行排序、分页或其他相关操作。


