Mysql
 sql >> Database >  >> RDS >> Mysql

SQL:conta il numero di occorrenze che si verificano nella colonna di output e calcola una percentuale in base alle occorrenze

Credo che questo sia ciò di cui hai bisogno:

SELECT
    a.id,
    a.resolution,
    b.*
FROM 
    Table1 a
CROSS JOIN
    (
        SELECT
            CONCAT(SUM(aa.resolution = 'pass'), '/', COUNT(*)) AS attempts,
            CONCAT((SUM(aa.resolution = 'pass') / COUNT(*)) * 100, '%') AS percent_attempts,
            CONCAT(SUM(bb.mindate IS NOT NULL AND resolution = 'pass'), '/', SUM(resolution = 'pass')) AS first_attempt 
        FROM
            Table1 aa
        LEFT JOIN 
            (
                SELECT 
                    MIN(`date`) AS mindate 
                FROM 
                    Table1
            ) bb ON aa.`date` = bb.mindate
    ) b

Collegamento SQLFiddle