我想显示来自mysql数据库的记录,该记录对特定列的数据进行计数并求和
我有一个 sql 查询,我们将在其中关注 MatchID 135
SELECT `BetType`,
`BetAmount`,
`Payout`
FROM `betdb`
LEFT JOIN `matchdb` ON `betdb`.`MatchID` = `matchdb`.`MatchID`
WHERE `betdb`.`MatchID`=135
它返回的数据如下
我想列出 BetTypes 及其计数、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,但它只返回第一行
最佳答案
您正在寻找 GROUP BY
和相对聚合COUNT()
和 SUM()
这里的功能:
SELECT
BetType,
COUNT(*) AS 'Count'
SUM(BetAmount) AS 'BetAmount Total',
SUM(Payout) AS 'Payout Total'
FROM
betdb
LEFT JOIN matchdb
ON betdb.MatchId = matchdb.MatchID
WHERE
betdb.MatchID = 135
GROUP BY
BetType
这会将每个 BetType
放在一行中,并允许您应用诸如 COUNT(*)
之类的聚合来获取“有多少行匹配此 BetType
"或使用 SUM(BetAmount)
将与指定的 BetType
匹配的所有总 BetAmount
值相加。
关于mysql - 显示统计某一列数据并汇总总金额的记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23910094/