计数结合选择不同

时间:2017-06-30 03:35:13

标签: sql select count

实际上我试图找到一种方法从表中选择所有不同的私人消息,并在1 sql查询中得到每个的计数

实际表中的列包含成员的id以及列 当消息state = 0时它与消息的实际视图状态有关 不读了

表格中的数据示例

roger 0
paul 1
roger 0
paul 0
mike 0
mike 0
mike 0

然后我想要的结果是

roger 2
paul 1
mike 3

任何帮助都将得到回复

1 个答案:

答案 0 :(得分:2)

你在找这个吗?

SELECT member_id, COUNT(*) AS count
  FROM messages
 WHERE state = 0
 GROUP BY member_id

这是dbfiddle演示

  

我还需要从另一个表中选择与member_id匹配的所有字段,即1个查询中可能的字段

当然,JOIN远离

SELECT m.*, t.*
  FROM (
    SELECT member_id, COUNT(*) AS count
      FROM messages
     WHERE state = 0
     GROUP BY member_id
) m JOIN other_table t
    ON m.member_id = t.member_id