select * from (select a.机房,b.主机名称,b.主机状态 from F0710A a left join G0710B on a.id = b.id) x pivot (count(主机名称) for 主机状态 in ([1],[2],[0]))y 改为MYSQL
时间: 2024-04-09 08:32:58 浏览: 87
在MySQL中,没有内置的PIVOT函数,但可以使用CASE语句和聚合函数来模拟实现类似的功能。以下是一种实现方法:
```sql
SELECT
机房,
COUNT(CASE WHEN 主机状态 = 1 THEN 主机名称 END) AS '1',
COUNT(CASE WHEN 主机状态 = 2 THEN 主机名称 END) AS '2',
COUNT(CASE WHEN 主机状态 = 0 THEN 主机名称 END) AS '0'
FROM
(SELECT a.机房, b.主机名称, b.主机状态
FROM F0710A a
LEFT JOIN G0710B b ON a.id = b.id) x
GROUP BY
机房;
```
这样,通过使用CASE语句将不同的主机状态进行分组,并使用COUNT函数进行计数,最后按照机房进行分组,得到相应的结果。
阅读全文