我有一張餐廳表:
| 姓名 | 年 | 利潤 |
|---|---|---|
| 餐廳1 | 2016年 | 112000 |
| 餐廳1 | 2018年 | 150000 |
| 餐廳1 | 2020年 | 165000 |
| 餐廳2 | 2018年 | 40000 |
| 餐廳2 | 2019年 | 52000 |
| 餐廳3 | 2017年 | 64000 |
| 餐廳3 | 2018年 | 73000 |
| 餐廳3 | 2019年 | 76000 |
我想對按餐廳名稱分組的每個餐廳的利潤求和,并在每個餐廳之后顯示總利潤,如下所示:
| 姓名 | 年 | 利潤 |
|---|---|---|
| 餐廳1 | 2016年 | 112000 |
| 餐廳1 | 2018年 | 150000 |
| 餐廳1 | 2020年 | 165000 |
| 餐廳1 | 全部的 | 427000 |
| 餐廳2 | 2018年 | 40000 |
| 餐廳2 | 2019年 | 52000 |
| 餐廳 2 | 全部的 | 92000 |
| 餐廳3 | 2017年 | 64000 |
| 餐廳3 | 2018年 | 73000 |
| 餐廳3 | 2019年 | 76000 |
| 餐廳3 | 全部的 | 231000 |
我知道我可以得到每家餐廳的總利潤 SELECT SUM(profit) FROM restaurants GROUP BY restaurants.name;
我的問題是如何以我在第二個表中顯示的方式顯示此結果。
uj5u.com熱心網友回復:
只需使用UNION:
SELECT name, year :: text, profit FROM restaurants
UNION
(SELECT name, 'total', SUM(profit) FROM restaurants GROUP BY restaurants.name)
ORDER BY name, year
在dbfiddle 中查看結果
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/377353.html
標籤:数据库 PostgreSQL的
上一篇:如何從sql中的表中選擇特定資料
