2011-11-21 161 views
2

表項在mysql中選擇相同的查詢計數行和計數?

(code, id, value) 
1  2 value1 
1  3 value2 
1  4 value4 
1  5 value5 
2  2 valueX 
2  3 valueY 
2  4 valueZ 

結果可能是:

(code, id, value, count) 
1  2 value1  4 
1  3 value2  4 
1  4 value4  4 
1  5 value5  4 
2  2 valueX  3 
2  3 valueY  3 
2  4 valueZ  3 

但問題是,當我使用COUNT(代碼),我得到:

1  2 value1  4 
2  2 valueX  2 

感謝。

+0

當您使用語言(例如PHP)從MySQL中提取數據時,您將獲得除數據以外的行數。 – Oleg

+0

把你在這裏查詢 –

回答

3

首先你需要確定每個代碼的RecordCount和INNER JOIN那到原來的查詢中,來提供額外的列。 如果您正在使用PHP,但聽取user366534關於在進入客戶端代碼後確定此計數的評論可能會更有效。

SELECT i.code, i,id, i.value, s.RecordCount 
FROM items AS i 
INNER JOIN 
(
    SELECT it.Code, COUNT(1) AS RecordCount 
    FROM items AS it 
    GROUP BY it.Code 
) AS s ON i.code = s.code