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

Vælg Max Data fra Subquery SQL, men det Vis alle resultater fra Subquery

1. løsning ved hjælp af where tilstand:

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. løsning ved hjælp af having tilstand:

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. Sådan forespørges efter et postgres heltalsarray i foråret

  2. Få antallet af rækker fra en COPY-kommando

  3. laravel med:Kolonne ikke fundet

  4. Vælg erklæring for at returnere forældre og uendelige børn