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

1つのクエリでいくつかのテーブル(サブクエリを含む)を結合する方がよいでしょうか。

    これであなたが探しているものが得られると思います(多くの方法の1つ):

    SELECT t.diapason, COUNT(*) AS 'number_of_users'
    FROM (SELECT CASE  
        when amount<100 then '0-100' 
        when amount>=100 then '100 +' END AS diapason
        FROM 
            (SELECT SUM(amount) AS amount 
            FROM payments 
            INNER JOIN (SELECT DISTINCT user_id FROM activity where login_time between '2012-04-05' and '2012-04-12') AS a ON payments.user_id = a.user_id
            GROUP BY payments.user_id) AS P
          ) t
    GROUP BY t.diapason
      ORDER BY number_of_users desc
    ;
    



    1. PostgreSQLデータベースのアーキテクチャとメモリの調整

    2. すべてのニュースとすべてのコメントを取得する

    3. SQLクエリ

    4. 生のクエリ結合をlaravelEloquentに変更します