下面我有一個我正在嘗試執行的查詢示例。INPUT 是我可以訪問的表。OUTPUT 是我想要組織資料的方式。我正在嘗試按日期對資料進行分組,并輸出上升次數和下降次數,因此輸出將給出一個字串,int,int。
這個查詢比我以前做的要高級一點,但我想我需要類似的東西:
SELECT date, COUNT(*), COUNT(*) FROM Input GROUP BY date
我不確定如何格式化 COUNT 以在特定日期僅查找 UP 或 DOWN。有人可以幫我指出正確的方向嗎
輸入
| 日期 | 時間 | 地位 |
|---|---|---|
| 2022-01-01 | 12:12:12 | 向上 |
| 2022-01-01 | 13:12:12 | 向下 |
| 2022-01-01 | 14:12:12 | 向上 |
| 2022-02-04 | 12:12:12 | 向上 |
| 2022-02-04 | 13:12:12 | 向下 |
| 2022-02-04 | 14:12:12 | 向下 |
| 2022-03-05 | 12:12:12 | 向上 |
| 2022-03-05 | 13:12:12 | 向上 |
| 2022-03-05 | 14:12:12 | 向下 |
輸出
| 日期 | # UP | # 下降 |
|---|---|---|
| 2022-01-01 | 2 | 1 |
| 2022-02-04 | 1 | 2 |
| 2022-03-05 | 2 | 1 |
uj5u.com熱心網友回復:
您可以嘗試sum使用條件 case 運算式
select date,
Sum(case when status='Up' then 1 else 0 end) NumUps,
Sum(case when status='Down' then 1 else 0 end) NumDowns
from t
group by date;
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/467186.html
上一篇:關于在SQL中創建新變數
下一篇:從表中洗掉SQLite鏈
