sql >> Databasteknik >  >> RDS >> Mysql

Välj Max Data från Subquery SQL, men det visar alla resultat från Subquery

1:a lösningen med where skick:

SELECT t1.valuesum, t1.codebook
FROM (
        SELECT SUM( s.value ) AS valuesum, s.codebook
        FROM stock s
        GROUP BY s.codebook
     ) t1
WHERE t1.valuesum in (SELECT MAX( t2.valuesum ) AS total
                     FROM (
                             SELECT SUM( s2.value ) AS valuesum, s2.codebook
                             FROM stock s2
                             GROUP BY s2.codebook
                           )t2
                     ) 

SQL Fiddle Demo

2:a lösningen med having skick:

SELECT max(t1.valuesum), t1.codebook
FROM (
        SELECT SUM( s.value ) AS valuesum, s.codebook
        FROM stock s
        GROUP BY s.codebook
     ) t1
GROUP BY t1.codebook
HAVING max(t1.valuesum) = (SELECT MAX( t2.valuesum ) AS total
                     FROM (
                             SELECT SUM( s2.value ) AS valuesum, s2.codebook
                             FROM stock s2
                             GROUP BY s2.codebook
                           )t2
                     )

SQL Fiddle Demo



  1. Hur man tar bort "X Rows Selected" i SQLcl &SQL*Plus (Oracle)

  2. MySQL eller PHP lägger till en  när £ används

  3. Hur undkommer jag en mysql-sökning/gilla-fråga korrekt?

  4. PHP - Medan / Else-fel?