我在使用 SQLite 查詢時遇到了問題,過去幾天我嘗試用谷歌搜索它,但我什至不知道該操作被稱為什么來提供相關答案。
我有一個非常標準的 SQLite 表,有 10 列,但這里只有 3 列很重要——MS(毫秒)、版本、建筑物
我想要做的是創建一個看起來像這樣的表 -
| 建筑物 | 版本1 | 版本 2 | 版本 3 | 版本4 | 版本5 | ETC... |
|---|---|---|---|---|---|---|
| 1 | 平均(毫秒) | 平均(毫秒) | 平均(毫秒) | 平均(毫秒) | 平均(毫秒) | 平均(毫秒) |
| 2 | 平均(毫秒) | 平均(毫秒) | 平均(毫秒) | 平均(毫秒) | 平均(毫秒) | 平均(毫秒) |
| 3 | 平均(毫秒) | 平均(毫秒) | 平均(毫秒) | 平均(毫秒) | 平均(毫秒) | 平均(毫秒) |
棘手的部分是版本數量未知,甚至版本名稱本身也是未知的。我一直在使用的是這樣的 -
SELECT avg(ms), version, buildings From loadtimes group by buildings, version
它創建了一個這樣的表 -
| 平均(毫秒) | 版本 | 建筑物 |
|---|---|---|
| 39527 | 22.5.1-0.4 | 1 |
| 31150 | 22.5.2-1.1 | 1 |
| 65833 | 22.5.1-0.4 | 2 |
| 76612 | 22.5.2-1.1 | 2 |
| 59430 | 22.5.1-0.4 | 3 |
| 105924 | 22.5.2-1.1 | 3 |
這確實為我提供了我需要的資訊,只是不是以我可以繪制它的格式。
這種型別的操作叫什么?以及如何創建包含多個未知列的表?
任何幫助都將不勝感激。謝謝你。
uj5u.com熱心網友回復:
如果您可以對版本進行硬編碼,則使用條件聚合:
SELECT buildings,
AVG(CASE WHEN version = '22.5.1-0.4' THEN ms END) AS "Version 22.5.1-0.4",
AVG(CASE WHEN version = '22.5.2-1.1' THEN ms END) AS "Version 22.5.2-1.1"
........................................................
FROM loadtimes
GROUP BY buildings;
請參閱演示。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/490807.html
標籤:sqlite 通过...分组 安卓-sqlite 平均 条件聚合
