所以,我有下一个表结构:
有没有办法让 SQL 查询计算列中的类似哈希值r_hash
,而不是在列中找到这个哈希值hash
并返回一个 uid 和哈希值?
例如 - uid - 21520578;类型 - 1; 数 - 7?
试试下面的查询
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
您可以使用 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 的行。