mysql - 显示统计某一列数据并汇总总金额的记录

标签 mysql

我想显示来自mysql数据库的记录,该记录对特定列的数据进行计数并求和

我有一个 sql 查询,我们将在其中关注 MatchID 135

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

它返回的数据如下

enter image description here

我想列出 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/

相关文章:

php - 修补基于时间的 sql 注入(inject)

python - pip 安装 MySQL-python 时出现错误代码 1

mysql - 如何从 mySQL 表中为每个 user_id 获取 2 个随机行?

php - 如何加快mysql服务器的运行速度

.net - 套接字异常 : No such host is known

php : Avoid database queries for each visitors

mysql - 首选表结构

php - 使用 PHP 从 SQL 列获取所有值(仅返回一个值)

php - 如何使用 PHP 将动态文本框保存到数据库

php - 为 HTML 编码 mySQL 文本?