Mysql
 sql >> Base de données >  >> RDS >> Mysql

MYSql Top 10 et Autres Total

Pour mémoire, je suis d'accord avec le commentaire de @DamienBlack, cependant si il fallait le faire en une seule requête a UNION ALL pourrait faire l'affaire :

(
  SELECT VENDOR_fullname as name, SUM(POTENTIAL_RECOVERY) as recovery
  FROM COMPLETE
  GROUP BY VENDOR_fullname
  ORDER BY SUM(POTENTIAL_RECOVERY) DESC
  LIMIT 10
)
UNION ALL
(
  SELECT 'All others' as name, SUM(subtotal) as recovery
  FROM 
  (
    SELECT SUM(POTENTIAL_RECOVERY)
    FROM COMPLETE
    GROUP BY VENDOR_fullname
    ORDER BY SUM(POTENTIAL_RECOVERY) DESC
    LIMIT 10, 18446744073709551615
  ) as subtotal;
)