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

2つのフィールドでグループ化された未完了の呼び出しの数を取得するクエリを作成します

    最小のcall_timeを取得する集計クエリを使用してテーブルを結合できます。 パーcall_id 未完了の呼び出しの。未完了の呼び出しとは、proceed_wait = 0のレコードがない呼び出しです。 。

    select t.queue_num_curr, t.ast_num_curr, count(*)
    from mytable t
    inner join (
        select call_id, min(call_time) call_time
        from mytable 
        group by call_id
        having max(proceed_wait = 0) = 0
    ) tmin on tmin.call_id = t.call_id and tmin.call_time = t.call_time
    group by t.queue_num_curr, t.ast_num_curr
    order by t.queue_num_curr, t.ast_num_curr
    

    DBフィドルのデモ

    queue_num_curr | ast_num_curr | count(*)
    -------------: | -----------: | -------:
              9004 |            2 |        1
              9010 |            2 |        2
              9010 |            3 |        1
              9010 |            5 |        1
    

    注意:結果では、queue_num = 9004 ast_num = 2が必要です 1の代わりに (call_id 49c43adに対応する必要があります 。




    1. Mysqlはテーブルにない場所を選択します

    2. SQL Azureデータベースをローカル開発サーバーにコピーするにはどうすればよいですか?

    3. MySQLエラーを解決する方法FROM句で更新するターゲットテーブルXを指定できませんか?

    4. PHPMySQLギリシャ文字は????のように表示されますマーク