mysql - 如何分离这些值?
问题描述
我一直在尝试这样做大约 2 个小时,我的大脑快要爆炸了。我有一张桌子DEPARTMENTS
和一列,TOTAL_ROOMS
但每个DEPARTAMENT
都有自己的房间大小,但我不知道如何显示每个部门的总房间。
它应该看起来像这样
DEPARTMENT NAME || TOTAL DEPARTMENTS || TOTAL DEPARTMENTS WITH ONE ROOM || TOTAL DEPARTMENTS WITH TWO ROOMS || TOTAL DEPARTMENTS WITH THREE ROOMS
EXAMPLE A || 10 || 5 || 3 || 2
EXAMPLE B || 8 || 2 || 4 || 2
我试过使用WHERE
, IN
,DISTINCT
函数,但我不是很专业这样做(我还在学习):/这就是我所做的,关于房间大小的列名是TOTAL_ROOMS
,我正在尝试SUM
每ROOM
一个有“1 个房间大小”,然后是SUM
每个ROOM
具有“2 个房间大小”的房间并显示结果:/
SELECT TOWER.EDI_NAME_TOWER AS "DEPARTMENT NAME",
COUNT(DEPARTAMENT.NRO_DEPARTAMENT) AS "TOTAL DEPARTMENTS"
FROM DEPARTAMENT
JOIN TOWER
ON DEPARTAMENT.ID_TOWER= TOWER.ID_TOWER
GROUP BY TOWER.EDI_NAME_TOWER;
解决方案
感谢您的回答,并对延误表示歉意。@P.Salmon 你给了我一个想法,但我试过了,我什至失败了……这就是我需要展示的
这是我的代码
SELECT EDIFICIO.EDI_NOMBRE_EDIFICIO AS "NOMBRE EDIFICIO",
COUNT(DEPARTAMENTO.NRO_DEPARTAMENTO) AS "TOTAL DEPTOS",
SUM(TOTAL_DORMITORIOS) AS "TOTAL DEPTOS 1 DORMITORIO", -- fix
COUNT(TOTAL_DORMITORIOS) AS "TOTAL DEPTOS 2 DORMITORIO", -- fix
COUNT(TOTAL_DORMITORIOS) AS "TOTAL DEPTOS 3 DORMITORIO", -- fix
COUNT(TOTAL_DORMITORIOS) AS "TOTAL DEPTOS 4 DORMITORIO", -- fix
COUNT(TOTAL_DORMITORIOS) AS "TOTAL DEPTOS 5 DORMITORIO" -- fix
FROM DEPARTAMENTO
JOIN EDIFICIO ON DEPARTAMENTO.ID_EDIFICIO= EDIFICIO.ID_EDIFICIO
GROUP BY EDIFICIO.EDI_NOMBRE_EDIFICIO
ORDER BY EDI_NOMBRE_EDIFICIO;
我很确定可以使用 SUM 来完成!我正在尝试这个,但我不知道如何对每个值求和并显示每个部门的最终结果
SELECT ID_EDIFICIO, NRO_DEPARTAMENTO, TOTAL_DORMITORIOS
FROM DEPARTAMENTO
WHERE TOTAL_DORMITORIOS IN (1,2,3,4,5);
编辑----谢谢 P.Salmon 我刚刚找到了代码
SUM(CASE WHEN TOTAL_DORMITORIOS = '1' THEN 1 ELSE 0 END) AS "TOTAL DEPTOS 1 DORMITORIO",
每个部门每个房间的总和!
推荐阅读
- phoenix-framework - Phoenix 服务器不使用 Docker 渲染 css 和图像
- ssl - Wildfly 与 java 11 启动错误 javax.net.ssl
- java - Java SecurityException:签名文件摘要无效
- typo3 - TYPO3 extbase:简单易读的 GET 参数
- aws-lambda - Lambda 函数无法识别 LexBot
- javascript - 如何检查输入复选框数据表laravel?
- php - 我的 Wordpress 主页上的奇怪链接,如何删除它们?
- sql - SQL server 组/分区压缩历史表
- java - 如何在 Spring Boot 中运行所需次数的方法?
- plugins - ChartJS 上的连续线渲染