sql >> Database >  >> RDS >> Mysql

Percentages in MySQL

Gebruik:

SELECT x.company,
       x.year,
       x.annual_total
       x.annual_total / y.total AS percentage
  FROM (SELECT t.company, 
               YEAR(t.date) as year, 
               COUNT( * ) as annual_total
          FROM TABLE t
         WHERE t.company IN ('Medtronic', 'Private')
      GROUP BY YEAR( t.date ) ) x
  JOIN (SELECT t.company,
               COUNT(*) 'total'
          FROM TABLE t
         WHERE t.company IN ('Medtronic', 'Private')
      GROUP BY t.company) y ON y.company = x.company

Als u het percentage met bepaalde decimalen wilt, gebruik dan:

CAST(x.annual_total / y.total AS DECIMAL(2,2)) AS percentage

Controleer of dit de telling per bedrijf geeft die u verwacht:

  SELECT t.company,
         COUNT(*) 'total'
    FROM TABLE t
   WHERE t.company IN ('Medtronic', 'Private')
GROUP BY t.company


  1. Enum datatype versus tabel met gegevens in MySQL?

  2. Hoe leg ik een query uit met parameters in MySQL

  3. Hoe kan ik een drempel voor vergelijkbare strings maken met Levenshtein-afstand en rekening houden met typefouten?

  4. MySQL/MariaDB:maak een draaitabelweergave