sql >> データベース >  >> RDS >> Mysql

サブクエリSQLから最大データを選択しますが、サブクエリからのすべての結果が表示されます

    whereを使用した最初のソリューション 状態:

    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フィドル デモ

    havingを使用した2番目のソリューション 状態:

    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フィドル デモ



    1. PHPを使用してデータベース内にユーザーのパスワードを保存するための最も安全な方法は何ですか?

    2. MySQLを使用したPHPのリソースID#6エラー

    3. TEMPFILEオフラインフィジカルスタンバイ

    4. 別のテーブルに関連付けられている単語のテーブルで単語のリストを検索するにはどうすればよいですか?