我想显示mysql数据库中的记录,这些记录统计某一列的数据并汇总这些数据
我有一个sql查询,其中我们将关注MatchID 135

SELECT `BetType`,
       `BetAmount`,
       `Payout`
FROM `betdb`
LEFT JOIN `matchdb` ON `betdb`.`MatchID` = `matchdb`.`MatchID`
WHERE `betdb`.`MatchID`=135

它返回的数据如下
我想列出BetTypes及其Count、BetAmt Total和Payout Total返回行,如下所示
BetType       Count     BetAmount Total   Payout Total
Handi           2         60000               950000
Homerun Count   4         10000                 0
Total           6         70000               950000

我试着对BetType使用DISTINCT,但它只返回第一行

最佳答案

试试这个

SELECT `BetType`,
       count(`BetType`) AS COUNT,
       sum(`BetAmount`) AS BetAmountTotal,
       sum(`Payout`) AS PayoutTotal
FROM `betdb`
LEFT JOIN `matchdb` ON `betdb`.`MatchID` = `matchdb`.`MatchID`
WHERE `betdb`.`MatchID`=135
GROUP BY `BetType`

07-24 19:50