我有下面這樣的資料表
| id | wallet_id | wallet_name | deposit | |
|----|-----------|-------------|---------|---|
| 1 | 12 | a_wallet | 10 | |
| 2 | 14 | c_wallet | 12 | |
| 3 | 12 | a_wallet | 24 | |
| 4 | 15 | e_wallet | 50 | |
| 5 | 14 | c_wallet | 10 | |
| 6 | 15 | e_wallet | 22 | |
我想選擇和分組相同wallet_id,可能是這樣的
| wallet_id | id | wallet_name |
|-----------|----|-------------|
| 12 | 1 | a_wallet |
| | 3 | a_wallet |
| 14 | 2 | c_wallet |
| | 5 | c_wallet |
| 15 | 4 | e_wallet |
| | 6 | e_wallet |
我已經嘗試過了
select wallet_id, id, wallet_name from wallet group by wallet_id
但它像通常的選擇查詢一樣顯示沒有分組。
需要您的幫助,謝謝
uj5u.com熱心網友回復:
我們通常會從表示層(例如 PHP)處理您的需求,但如果您碰巧使用 MySQL 8 ,這里有一種直接從 MySQL 執行此操作的方法:
SELECT
CASE WHEN ROW_NUMBER() OVER (PARTITION BY wallet_id ORDER BY id) = 1
THEN wallet_id END AS wallet_id,
id,
wallet_name
FROM wallet w
ORDER BY w.wallet_id, id;
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/533152.html
標籤:mysql
