僅當另一列設定為特定值時,我才必須回傳多列的平均結果。
這是我想要的示例:
SELECT AVG(col1_value1) AS res1 FROM table WHERE col1_value2 = 10;
SELECT AVG(col2_value1) AS res2 FROM table WHERE col2_value2 = 10;
SELECT AVG(col3_value1) AS res3 FROM table WHERE col3_value2 = 10;
然后我希望我的結果回傳這個
| 資源1 | 資源2 | 資源3 |
|---|---|---|
| 10.5 | 8.5 | 9 |
目前,使用的選項是 PHP 回圈,這并不是理想的選擇。如果還有其他選擇,我很想知道。謝謝你。
uj5u.com熱心網友回復:
使用條件平均,我們可以嘗試:
SELECT
AVG(CASE WHEN col1_value2 = 10 THEN col1_value1 END) AS res1,
AVG(CASE WHEN col2_value2 = 10 THEN col2_value1 END) AS res2,
AVG(CASE WHEN col3_value2 = 10 THEN col3_value1 END) AS res3
FROM yourTable;
與您當前的方法相比,這具有優勢,因為它只需要單次傳遞您的表,而不是 3 個單獨的查詢。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/535891.html
標籤:数据库数据库
