繁体   English   中英

SQL 计算有多少行具有相同的值并根据条件求和

[英]SQL count how many rows have the same value and do the sum on condition

我今天有一个问题要问你。 我有这张桌子

奇数 风险 结果代码 最后结果
1个 6.66667 2个 1个
2个 7.14286 2个 1个
3个 8.33333 2个 1个
4个 8.33333 2个 2个
5个 10 2个 1个
6个 10 2个 2个
7 10 2个 2个
8个 10 2个 2个
9 11.1111 1个 2个
10 11.1111 2个 2个
11 12.5 2个 1个
12 12.5 2个 2个
13 12.5 1个 1个
14 12.5 2个 1个
15 12.5 2个 1个
16 12.5 1个 2个
17 12.5 1个 1个
18 12.5 1个 2个
19 12.5 2个 1个
20 14.2857 2个 2个
21 14.2857 1个 2个
22 14.2857 2个 2个
23 16.6667 2个 2个
24 16.6667 1个 2个
25 16.6667 1个 1个

对于这份工作,我需要

  1. 按“风险”对行进行分组
  2. 计算有多少行具有相同的“风险”值
  3. 计算“resultCode”和“finalResult”中有多少行具有相同的值

SELECT  `risk`, `resultCode`, `finalResult`, 
        ( SELECT  CASE WHEN COUNT(*) > 0 THEN 1 ELSE 0 END
            FROM  matches
            WHERE  `resultCode` = t.`finalResult`
              AND  `oddId` = t.`oddId`
        ) equal
    FROM  matches t
    WHERE  `finalResult` IS NOT NULL
    ORDER BY  `t`.`risk` ASC

我可以获得“相等”列。

风险 结果代码 最后结果 平等的
6.66667 2个 1个 0
7.14286 2个 1个 0
8.33333 2个 1个 0
8.33333 2个 2个 1个
10 2个 1个 0
10 2个 2个 1个
10 2个 2个 1个
10 2个 2个 1个
11.1111 1个 2个 0
11.1111 2个 2个 1个
12.5 2个 1个 0
12.5 2个 2个 1个
12.5 1个 1个 1个
12.5 2个 1个 0
12.5 2个 1个 0
12.5 1个 2个 0
12.5 1个 1个 1个
12.5 1个 2个 0
12.5 2个 1个 0
14.2857 2个 2个 1个
14.2857 1个 2个 0
14.2857 2个 2个 1个
16.6667 2个 2个 1个
16.6667 1个 2个 0
16.6667 1个 1个 1个

SELECT  `risk`, COUNT(`risk`) as total
    FROM  `matches`
    WHERE  `finalResult` IS NOT NULL
    GROUP BY  `risk`
    ORDER BY  `risk` DESC

我可以获得“总计”列。


现在我还想有一个列,我按“风险”分组并对“相等”列求和(进入“更正”),以......

风险 更正 全部的
6.66667 0 1个
7.14286 0 1个
8.33333 1个 2个
10 3个 4个
11.1111 1个 2个
12.5 3个 9
14.2857 2个 3个
16.6667 2个 3个

我不知道该怎么做...有人可以帮我吗? 非常感谢

MySQL - MyISAM - 5.6.48-88.0

你的第一个sql太乱了,看不清楚答案

SELECT
    `risk`,
    COUNT( `risk` ) AS total,
    sum(case when resultCode = finalResult then 1 else 0 end) corrects
FROM
    `matches` 
WHERE
    `finalResult` IS NOT NULL 
GROUP BY
    `risk` 
ORDER BY
    `risk` DESC

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM