簡體   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