2

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

表数据图像

有没有办法让 SQL 查询计算列中的类似哈希值r_hash,而不是在列中找到这个哈希值hash并返回一个 uid 和哈希值?

例如 - uid - 21520578;类型 - 1; 数 - 7?

4

2 回答 2

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 
于 2012-10-07T10:21:10.533 回答
1

您可以使用 join 来做到这一点

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

我没有测试这个查询。

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

于 2012-10-07T09:57:39.613 回答