选择计数行并在mysql中查询相同的查询?

时间:2011-11-21 06:30:22

标签: mysql sql count row

表项目

(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

感谢。

1 个答案:

答案 0 :(得分:3)

首先,您需要为每个代码确定RecordCount,并在原始查询中确定INNER JOIN以提供额外的列。 IF 您正在使用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