2011-12-01 140 views
4

的計數這是我的腳本SQL組通過計數

SELECT COUNT([Id]) as [Count Of Register], 
Tag as [Tag] 
FROM [Members] 
Group By Tag 
Order By [Count Of Register] Desc; 

返回的表是這樣的:

Count Tag 

550 ----1 
550 ----2 
545 ----3 
545 ----4 
545 ----5 

所以,這個時候,我需要通過這個新的計數字段計數標籤,集團。

一些的返回值一樣:

2 ---550 
3 ---545 

有沒有使用新的表或表的模板或任何存儲表只是查詢什麼辦法?

+2

什麼是你想要的結果嗎? '(550,2),(545,3)'? –

+0

@MartinSmith是的,我編輯質疑 – Saeid

回答

10
SELECT [Count Of Register], COUNT(1) [Grouped Count] 
FROM 
(
    SELECT COUNT([Id]) as [Count Of Register], 
      Tag as [Tag] 
    FROM [Members] 
    Group By Tag 

) MyTable 
GROUP BY [Count Of Register] 
+0

有一個錯誤:消息1033,級別15,狀態1,行19 ORDER BY子句在視圖,內聯函數,派生表,子查詢無效,公用表表達式,除非TOP或FOR XML也被指定。 – Saeid

+0

我通過刪除訂單,這是正常工作 – Saeid

+0

D'哦,是的,我們對此深感抱歉,您不能在內部查詢中使用命令!樣本已修復。 –

1

你可以使用

SELECT [Count Of Register], COUNT(*) FROM 
    (SELECT COUNT([Id]) as [Count Of Register], Tag as [Tag] 
    FROM [Members] GROUP BY Tag) q 
GROUP BY [Count Of Register] 
+0

有一個錯誤:無效的列名稱'標記'。爲Count(標籤) – Saeid

+0

@Saeid:嘗試我編輯的答案... – Marco

0

的mysql>創建表order1(計數器INT(3)NOT NULL AUTO_INCREMENT主鍵, - >標籤INT(3)); Query OK,0 rows affected(0.01 sec)

mysql> insert into order1 values(500,20); //根據需要插入somany值並檢查 insert into order1 values(500,20); 插入到order1值(600,20); 的mysql>選擇計數器,計數器通過從order1組COUNT(*)