Mysql
 sql >> база данни >  >> RDS >> Mysql

SQL :Пребройте броя на събитията, възникващи в изходната колона и изчислете някакъв процент въз основа на събитията

Вярвам, че това е, от което се нуждаете:

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

Връзка към SQLFiddle




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Съвети за надграждане от MySQL 5.7 до MySQL 8

  2. Параметър номер 2 не е OUT параметър

  3. чат сървър:кой е най-добрият (оптимизиран) начин за запазване на дневник за разговори

  4. AWS RDS MySql – как да разрешите достъп след настройка на „Публично достъпен“

  5. Търсене на низ в текстова колона в MySQL