2013-04-05 81 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