我需要在一定範圍內0到10秒,0到20秒等內應答呼叫計數。計數將增加,而增量爲當前和下一個計數不同。該百分比將是當前計數/最終計數總數。MySQL - 在一定範圍內應答的計數呼叫0到10秒,按組計數
這裏是你可以用數據用於測試的sqlfiddle:callsdetails的http://sqlfiddle.com/#!9/803d2/2
樣品表:
+-----+----------------+----------+----------+---------------+
| id | callid | callerno | duration | status |
+-----+----------------+----------+----------+---------------+
| 634 | 1479097551.228 | 1000 | 2 | complete |
| 635 | 1479102518.248 | 1000 | 12 | complete |
+-----+----------------+----------+----------+---------------+
預期結果:
+------------------------+----------+----------+----------+
| Ranges | Count | Delta | % |
+------------------------+----------+----------+----------+
| Between 0 to 10 secs | 44 | +44 | 84.62 % |
| Between 0 to 20 secs | 48 | +4 | 92.31 % |
| Between 0 to 30 secs | 50 | +2 | 96.15 % |
| Between 0 to 40 secs | 51 | +1 | 98.08 % |
| Between 0 to 50 secs | 51 | +0 | 98.08 % |
| Between 0 to 60 secs | 51 | +0 | 98.08 % |
| Between 0 to 70 secs | 51 | +0 | 98.08 % |
| Between 0 to 80 secs | 52 | +1 | 100.00 % |
| Between 0 to 90 secs | 52 | +0 | 100.00 % |
| Between 0 to 100+ secs | 52 | +0 | 100.00 % |
+------------------------+----------+----------+----------+
Total 52
我能創造什麼現在正在下面查詢,如果你能幫助提供更好的解決方案,請指教。我現在面臨的問題是(優先級)我無法獲得計數和(次要)最終計數總數(52),現在我手動輸入最終計數總數(52)。請幫忙。
SELECT Ranges,Delta,ROUND(Delta/52*100,2) AS '%'
FROM
(
SELECT
(
IF(duration<=10,'10',IF(duration<=20,'20',IF(duration<=30,'30',
IF(duration<=40,'40',IF(duration<=50,'50',
IF(duration<=60,'60',IF(duration<=70,'70',IF(duration<=80,
'80',IF(duration<=90,'90','100+'))))))))))
AS Ranges,COUNT(duration) AS Delta
FROM callsdetails
GROUP BY Ranges
) a
GROUP BY Ranges;
當前結果:
+--------+-------+-------+
| Ranges | Delta | % |
+--------+-------+-------+
| 10 | 44 | 84.62 |
| 20 | 4 | 7.69 |
| 30 | 2 | 3.85 |
| 40 | 1 | 1.92 |
| 80 | 1 | 1.92 |
+--------+-------+-------+
================================= ==========================================
感謝Etsa for幫助我解決了上述問題,這是所有調用的總和,我現在可能需要再次幫助增加每個隊列名稱的分組。它與上面的公式相同,但現在它必須被拆分或按每個隊列名稱分組。
這裏是你可以用數據用於測試的sqlfiddle:http://sqlfiddle.com/#!9/efe11b/2
預期結果:
+---------+------+-----------+-------+--------+
| QUEUE | RAN | TOT_COUNT | DELTA | % |
+---------+------+-----------+-------+--------+
| sales | 10 | 6 | 6 | 100.00 |
| sales | 20 | 6 | 0 | 100.00 |
| sales | 30 | 6 | 0 | 100.00 |
| sales | 40 | 6 | 0 | 100.00 |
| sales | 50 | 6 | 0 | 100.00 |
| sales | 60 | 6 | 0 | 100.00 |
| sales | 70 | 6 | 0 | 100.00 |
| sales | 80 | 6 | 0 | 100.00 |
| sales | 90 | 6 | 0 | 100.00 |
| sales | 100+ | 6 | 0 | 100.00 |
| enquiry | 10 | 32 | 32 | 80.00 |
| enquiry | 20 | 36 | 4 | 90.00 |
| enquiry | 30 | 38 | 2 | 95.00 |
| enquiry | 40 | 39 | 1 | 97.50 |
| enquiry | 50 | 39 | 0 | 97.50 |
| enquiry | 60 | 39 | 0 | 97.50 |
| enquiry | 70 | 39 | 0 | 97.50 |
| enquiry | 80 | 40 | 1 | 100.00 |
| enquiry | 90 | 40 | 0 | 100.00 |
| enquiry | 100+ | 40 | 0 | 100.00 |
| others | 10 | 6 | 6 | 100.00 |
| others | 20 | 6 | 0 | 100.00 |
| others | 30 | 6 | 0 | 100.00 |
| others | 40 | 6 | 0 | 100.00 |
| others | 50 | 6 | 0 | 100.00 |
| others | 60 | 6 | 0 | 100.00 |
| others | 70 | 6 | 0 | 100.00 |
| others | 80 | 6 | 0 | 100.00 |
| other | 90 | 6 | 0 | 100.00 |
| others | 100+ | 6 | 0 | 100.00 |
+---------+------+-----------+-------+--------+
你有沒有嘗試過的東西? SO不是免費的軟件服務。嘗試做出努力,將其張貼在您的問題中,然後尋求幫助。此外,我建議創建一個新問題。 – etsa
嗨Etsa,我真的很抱歉,似乎我利用你的優勢。我一直在嘗試多次修改你的代碼,但越多,我越試圖顯示最終結果是錯誤的。我真的很抱歉打擾你,因爲我不太熟悉這一點,希望能得到你的幫助。我非常抱歉,謝謝你的幫助。 – DarkSilver