MySql 使用 Sum 连接
我有一个名为 RESULTS 的表,其结构为:
resultid,winner,type
和一个名为 TICKETS 的表,其结构为:
resultid,ticketid,bet,sum_won,status
我想显示表 RESULTS 中的每一行以及我想要的每个结果使用表 TICKETS 中的值计算 TotalBet 和 Sum_won
我尝试进行一些连接、一些求和,但我无法得到我想要的。
SELECT *,COALESCE(SUM(tickets.bet),0) AS totalbets,
COALESCE(SUM(tickets.sum_won),0) AS totalwins
FROM `results` NATURAL JOIN `tickets`
WHERE tickets.status<>0
GROUP BY resultid
请给我一些建议。
我想显示这样的东西
RESULT WINNER TOTALBETS TOTALWINS
1 2 431 222
2 3 0 0
3 1 23 0
4 1 324 111
I have a table called RESULTS with this structure :
resultid,winner,type
And a table called TICKETS with this structure :
resultid,ticketid,bet,sum_won,status
And I want to show each row from table RESULTS and for each result I want to calculate the totalBet and Sum_won using the values from table TICKETS
I tried to make some joins,some sums,but I cant get what I want.
SELECT *,COALESCE(SUM(tickets.bet),0) AS totalbets,
COALESCE(SUM(tickets.sum_won),0) AS totalwins
FROM `results` NATURAL JOIN `tickets`
WHERE tickets.status<>0
GROUP BY resultid
Please give me some advice.
I want to display something like this
RESULT WINNER TOTALBETS TOTALWINS
1 2 431 222
2 3 0 0
3 1 23 0
4 1 324 111
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
使用:
我不关心 NATURAL JOIN 语法,更喜欢明确如何将表 JOIN/链接在一起。
Use:
I don't care for the NATURAL JOIN syntax, preferring to be explicit about how to JOIN/link tables together.
尝试将第一个
*
替换为resultid
。如果这有帮助,请向SELECT
添加更多列,并同时将它们添加到GROUP BY
。Try to replace the first
*
withresultid
. If this helps, then add more columns toSELECT
and add them toGROUP BY
at the same time.