MySQLクエリ経由でアスタリスクレポートのために私のCDRからの同時呼び出しを取得しようとしています。私は他の提案を見て、彼らは私が自分のアプリケーションに合わせて調整することができなかったので、彼らが何をしているかを完全に理解していないJOINsとONsといくつかの他の呼び出しが含まれています。アスタリスクMySQLからの同時コール
個別のレポートが必要な独自のDIDセットを持つ複数の部門があります。現在のスクリプトは、コールが進行中に発生したコールの数を取得するので間違っています。コールが午後1時から午後2時に接続された場合、午後1時から2時の間に発生したすべてのコールがカウントされます。欲しいです。私は同時呼び出しの数がどれだけの呼び出しが発生したかではない。
マイデータセット
calldate | callsource | calldestination | duration | callended
--------------------| ------------| ----------------| -------- | ---------
2016-12-01 15:45:00 | 12121111111 | 12031234567 | 120 | 2016-12-01 15:47:00
--------------------| ------------| ----------------| -------- | ---------
2016-12-01 15:45:10 | 12122332223 | 12121111111 | 15 | 2016-12-01 15:45:25
--------------------| ------------| ----------------| -------- | ---------
2016-12-01 15:45:12 | 12121111111 | 12033254678 | 15 | 2016-12-01 15:45:27
--------------------| ------------| ----------------| -------- | ---------
2016-12-01 15:45:20 | 12123333333 | 12031223244 | 50 | 2016-12-01 15:47:10
--------------------| ------------| ----------------| -------- | ---------
2016-12-01 15:45:26 | 12121111111 | 12031231222 | 10 | 2016-12-01 15:45:33
--------------------|-------------|-----------------|----------|----------
2016-12-01 15:45:27 | 12120433322 | 12031456544 | 10 | 2016-12-01 15:45:37
私は、課金部門の最大同時通話を知りたい:
課金部門ののDID:
したがって、上記の希望を出力:
最大同時実行件数:3
これをMySQLとPHPで実行しようとしています。そのため、書式設定はすべてWebページ側では関係ありません。私はちょうどMySQLのクエリの3を取得する必要があります。
私の現在の試行は、すべてが最初のコールの開始時間と終了時間内に発生したため、5を返します。
私が現在行っている唯一の方法は、すべての行の内側のループですべての行をループし、外側のループで発生したかどうかを確認し、
思考?簡単な方法はありません
--E
私はこのロジックに従います。 – eherr9633
すべてのレコードを確認してください。各レコードについて、このレコードの開始と終了の間に開始するすべてのレコードをチェックします(このレコードの終了後、LESSコールを取得するので、最大値はレコード内にある必要があります)。 – arheops