Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Wybierz Max Data z podzapytania SQL, ale pokazuje wszystkie wyniki z podzapytania

Pierwsze rozwiązanie przy użyciu where warunek:

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
                     ) 

Skrzypce SQL Demo

Drugie rozwiązanie wykorzystujące having warunek:

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
                     )

Skrzypce SQL 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. Błąd krytyczny:Nieprzechwycony wyjątek „mysqli_sql_exception” z komunikatem „W zapytaniu/przygotowanej instrukcji nie użyto indeksu”

  2. Jak wstawić obiekt (więcej niż 10 właściwości) do mysql przez mybatis na podstawie adnotacji bez listy wszystkich właściwości

  3. Wyciągnij pierwsze X słów (nie tylko znaki) z mySQL

  4. Sformatuj kod MySQL w ciągu PHP

  5. Jak korzystać z order by w Laravel, gdy używa CASE WEN?