假設我有下表:
| 價值 | 標簽 |
|---|---|
| 1 | 藝術2 |
| 2 | 藝術1 |
| 3 | 藝術4 |
| 4 | 藝術3 |
我想要結果:
- 找到標簽時的值欄位
- MAX(value) 1 如果沒有找到
label = art4 => 3
label = non existing => MAX(value) 1 = 5
uj5u.com熱心網友回復:
您可以使用條件聚合來做到這一點:
SELECT COALESCE(
MAX(CASE WHEN label = ? THEN value END),
MAX(VALUE) 1,
1
) AS value
FROM tablename;
1如果表為空,此查詢也將回傳。
更改?為您想要的標簽。
請參閱
- 第一行 artx 標簽未找到,因此最高值 (4) 1 = 5
- 找到第二行 art1 標簽,因此回傳值 2
- 找到第 3 行 art2 標簽,因此回傳值 1
- 找到第 4 行 art3 標簽,因此回傳值 4
- 找到第 5 行 art4 標簽,因此回傳值 3
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/519833.html
上一篇:基于兩個資料框創建資料庫
