我有 2 张 table
请求
requests_votes
请求结构是:
id | req_name | content | hits
------------------------------
1 | Sample | Some | NULL
2 | Sample | Some | NULL
3 | Sample | Some | NULL
4 | Sample | Some | NULL
5 | Sample | Some | NULL
requests_votes结构是:
id | requestid | user_id
------------------------
10 | 2 | 2556
18 | 2 | 2522
33 | 3 | 120
44 | 2 | 1559
98 | 5 | 253
宽度以下查询我能够计算投票如何拥有项目(请求)
SELECT `requestid` , count( requests_votes.id ) AS totals
FROM `requests_votes`
INNER JOIN `requests` ON requests.id = requests_votes.requestid
GROUP BY `requestid`
输出:
requestid | totals
------------------
2 | 3
3 | 1
5 | 1
我想用 count( requests_votes.id ) 结果填充请求表中的 hits 列。
我已经在 stackoverflow 上解决了类似的问题,但找不到解决方案。
最佳答案
您可以在 UPDATE
查询中使用 JOIN
:
UPDATE `requests` T1 JOIN
(SELECT `requestid` , count( requests_votes.id ) AS totals
FROM `requests_votes`
INNER JOIN `requests` ON requests.id = requests_votes.requestid
GROUP BY `requestid`) T2 ON T1.id=T2.requestid
SET T1.hits=T2.totals
关于mysql - 从查询结果填充sql列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24096139/