Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Pilih Max Data dari Subquery SQL, tetapi Tampilkan Semua Hasil dari Subquery

Solusi pertama menggunakan where kondisi:

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

solusi ke-2 menggunakan having kondisi:

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Sintaks SQL untuk jika ada

  2. Mengisi JTree dari database

  3. Mengapa INNER JOIN tidak sama (!=) hang selamanya

  4. MySQL pilih/masukkan/perbarui, apakah urutan kolom penting?

  5. haruskah saya membuat indeks untuk ini?