[英]MYSQL /SQL multiple alias base on column values
我有三個表:狀態(id,name); 醫院(id、name、level_id、state_id); 級別(ID,名稱)。 表格(級別)顯示了每家醫院的質量。 一個州可以有幾家具有不同服務質量(級別)的醫院。 我想實現一個 MySQL 查詢,如下所示
表:
等級
id| name |
1 | level 1 |
2 | level 2 |
3 | level 3 |
醫院
id| name | level_id | state_id
1 | Hos A| 1 | 22
2 | Hos B| 3 | 7
3 | Hos C| 2 | 13
...
結果:
states | level 1 | level 2| level 3 | total
state 1| 0 | 1 | 1 | 2
state 2| 3 | 4 | 7 | 14
...
我在這條線上嘗試了一些東西,但只是卡住了。 任何幫助將不勝感激
SELECT state.name states, hos.level_id 'level 1', hos.level_id 'level 2', hos.level_id 'level 3'
FROM state
LEFT JOIN hospital hos ON hos.state_id = state.id
ORDER BY state.name
這是你想要的嗎?
select state,
sum(level_id = 1) as num_1,
sum(level_id = 2) as num_2,
sum(level_id = 3) as num_3,
count(*) as total
from hospitals h
group by state;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.