2013-03-11 121 views
2

我想在SQL服務器中執行以下查詢,但出現錯誤。有人能解釋我如何計算內部選擇語句嗎?從內部選擇語句計數

SELECT COUNT(*) from 

(Select ID, 
     COUNT(ID) 
    FROM [Testing].[dbo].[Bench] group by ID having COUNT(*) =5); 
+2

什麼是錯誤訊息? – Taryn 2013-03-11 17:55:27

+0

如果您計算每行找到的所有列,那麼您應該保留*。否則,在計算找到的行時應使用特定的列名稱。只是一個指針 – Mic1780 2013-03-11 18:14:14

回答

6

我想你只是錯過了第二列的名稱:

SELECT COUNT(*) 
FROM (
    Select id, COUNT(id) count_of_id 
    FROM [Testing].[dbo].[Bench] 
    GROUP BY id 
    HAVING COUNT(*) =5 
); 
+0

AAaaahhhh!傻我。你是對的。非常感謝你。 – Huzaifa 2013-03-11 17:58:03

+1

SQL Server在子查詢上需要一個別名。 – Taryn 2013-03-11 18:08:39

5

試試下面的代碼:

SELECT COUNT(*) from 

(Select ID, 
     COUNT(ID) as cnt 
    FROM [Testing].[dbo].[Bench] group by ID having COUNT(*) =5) tbl; 
+0

我錯過了第二列的名字 – Huzaifa 2013-03-11 17:58:23

+0

@John添加了第二列名爲你工作? – 2013-03-11 18:02:26

+0

@約翰你還需要命名錶。 – 2013-03-11 18:04:44