2013-04-05 47 views
2

大家都在试图建立一个SQL查询来显示仪表板上的一些信息。查找列中不同值的计数

我有我存储我的销售data.My查询表需要根据区域找到最后7天的总销售额,平均和分组它(这是目前在用户表。)。我创建了一个临时表获得该项目sales.DashBoard_Items表包含需要在dashboard.Now我的问题是我需要得到各区域的门店数量,以平均寻找到sales.Can显示特定项目有一个人,请帮助

Declare @TableTest 
table(itemid int,itemname varchar(100),itemdescription varchar(100),id int,itemidd int,userid int,orderdate varchar(40),qty int) 

insert into @TableTest 
select * from DashBoard_Items join 
SalesQTY on SalesQTY.OrderDate>= CONVERT(varchar(10) , DATEADD(DAY,-7,GETDATE()),126) 
and OOS_DashBoard_CoreItems.itemid=SalesQTY.itemid 


select distinct t.userid,u.region from @TableTest t join users u on t.userid=u.userid and region is not null 

上述选择查询返回

enter image description here

我怎样才能区域计数从上面的select查询

region    count 
5 - SUN WEST   2 
2 - LONG ISLAND   3 

回答

1

您可以通过region需要组,然后使用cont(*)

SELECT region, count(*) 
FROM @TableTest 
GROUP BY region; 
+0

非常感谢它的工作... – Karthik 2013-04-05 07:57:27

+0

@karthi,欢迎您:) – Habib 2013-04-05 08:08:28

1

请尝试:

SELECT 
    Region, 
    COUNT(*) AS [Count] 
FROM YourTable 
GROUP BY Region 

OR

SELECT 
    DISTINCT Region, 
    COUNT(*) OVER (PARTITION BY Region) AS [Count] 
FROM YourTable 
1
SELECT u.region, COUNT(*) 
FROM @TableTest t JOIN users u ON t.userid=u.userid AND u.region IS NOT NULL 
GROUP BY u.region 
1

尝试

SELECT region, count(*) 
FROM mytable 
GROUP BY region