Mysql SQL获取构成平均值的记录列表
我正在处理一个报表项目,其中已有一个查询正在显示某些表中的信息 例如:Mysql SQL获取构成平均值的记录列表,mysql,sql-server,Mysql,Sql Server,我正在处理一个报表项目,其中已有一个查询正在显示某些表中的信息 例如: dbo.business_table prod_id | name | sale_price | 1 | chair | 2 1 | chair | 4 2 | table | 5 2 | table | 10 假设查询是这样的: Select name ,prod_id ,COUNT(*) as totalRecords ,AVG
dbo.business_table
prod_id | name | sale_price |
1 | chair | 2
1 | chair | 4
2 | table | 5
2 | table | 10
假设查询是这样的:
Select name
,prod_id
,COUNT(*) as totalRecords
,AVG(sale_price) as Priceaverage
from dbo.business_table
group by name, prod_id
通过在页面上显示,用户可以单击该行旁边的视图标记,然后运行查询以获取构成该平均值的记录列表。因此,如果我选择chair,查询将获取构成该平均值的两条记录并显示它们
我怎样才能做到这一点呢?只是为了好玩,您可以通过JavaScript在客户端传递细节并对其进行解析。不需要第二次旅行
Declare @business_table table (prod_id int,name varchar(50),sale_price money)
Insert Into @business_table values
(1,'chair',2),
(1,'chair',4),
(2,'table',5),
(2,'table',10)
;with cteBase as (
Select name
,prod_id
,totalRecords = COUNT(*)
,Priceaverage = AVG(sale_price)
From @business_table A
Group By name, prod_id
)
Select A.*
,B.Detail
From cteBase A
Cross Apply (Select Detail=Stuff((Select ',' + cast(sale_price as varchar(25))
From @business_table
Where prod_id=A.prod_id
For XML Path ('')),1,1,'') ) B
返回
name prod_id totalRecords Priceaverage Detail
chair 1 2 3.00 2.00,4.00
table 2 2 7.50 5.00,10.00
为了好玩,您可以通过JavaScript在客户端传递细节并解析它。不需要第二次旅行
Declare @business_table table (prod_id int,name varchar(50),sale_price money)
Insert Into @business_table values
(1,'chair',2),
(1,'chair',4),
(2,'table',5),
(2,'table',10)
;with cteBase as (
Select name
,prod_id
,totalRecords = COUNT(*)
,Priceaverage = AVG(sale_price)
From @business_table A
Group By name, prod_id
)
Select A.*
,B.Detail
From cteBase A
Cross Apply (Select Detail=Stuff((Select ',' + cast(sale_price as varchar(25))
From @business_table
Where prod_id=A.prod_id
For XML Path ('')),1,1,'') ) B
返回
name prod_id totalRecords Priceaverage Detail
chair 1 2 3.00 2.00,4.00
table 2 2 7.50 5.00,10.00
我想你想在你的报告上有一个按钮,把你带到另一个报告?你忘记的是平均值是不能颠倒的!!!!ZLK-是的,它将运行一个新的报告,并在弹出窗口中显示结果。我假设您希望报告上有一个按钮将您带到另一个报告?您忘记的是,平均值是无法反转的!!!!ZLK-是的,它将运行一个新的报告,并在一个弹出窗口中显示结果。sorta可以工作,我只需要让详细信息以列表格式显示,而不是以列表格式显示cell@serophous在JS或SQL中,获取该列表并将逗号替换为
。我会把数据放在一个隐藏的单元格或一个数据元素中。那样的话,我只需要让细节以列表的形式出现,而不是以列表的形式出现cell@serophous在JS或SQL中,获取该列表并将逗号替换为
。我会将数据放在一个隐藏的单元格或数据元素中。