2014-04-22 81 views
0

我有一個MySQL視圖,字段爲idset。因爲這是一個視圖,所以大多數id都會重複並且有重複的條目。例如,id = 120158可能有5行,3其中set = A和2其中set = B.我想從視圖中運行一個查詢來顯示每個id與其對應的集關聯的行數。 我想:MySQL計數字段值

SELECT `id`, 
    `set`, 
    (SELECT COUNT(set)) AS `CountOfSet` 
FROM `view1` 

然而,這只是返回了同樣的觀點(重複的行仍然存在)與CountOfSet等於1的每一行。有任何想法嗎?

回答

1

你應該idset進行分組的結果得到期望的結果:

SELECT `id`, `set`, COUNT(*) AS `CountOfSet` FROM `view1` 
GROUP BY `id`, `set` 

這將返回結果作爲

120158 A 3 
120158 B 2 
0

你需要組使用GROUP BY條款您的數據:

GROUP BY `id`, `set` 

構圖全部在一起:

SELECT `id`, 
`set`, 
COUNT(*) AS `CountOfSet` 
FROM `view1` 
GROUP BY `id`, `set`