计算MySQL GROUP BY

时间:2012-10-07 09:53:43

标签: php mysql sql

所以,我有下一个表结构:

Table data Image

有没有办法在r_hash列中创建计算simillar哈希值的SQL查询,而不是在hash列中找到此哈希并返回一个uid和哈希计数?

例如 - uid - 21520578; type - 1;数 - 7?

2 个答案:

答案 0 :(得分:1)

您可以使用加入

来实现
SELECT t1.uid, t1.type, COUNT(t2.id) as `count`
FROM table AS t1
LEFT JOIN table AS t2 ON t2.r_hash = t1.hash
GROUP BY t1.id

我没有测试此查询。

编辑:使用左连接,您还会收到count = 0的行。

答案 1 :(得分:1)

尝试以下查询

SELECT T1.uid, T1.type, T2.count 
FROM table T1,
(
  SELECT r_hash, COUNT(*) AS count  
  FROM table 
  GROUP BY r_hash
) T2 
WHERE T1.hash = T2.r_hash