【发布时间】:2019-12-05 23:17:27
【问题描述】:
我想从一个表中获取一些数据,但由不同的条件分隔,例如一列有多少行等于 1,一列有多少行等于和相同,直到数字 5。我这样做了:
Select Count(E.ID) as emergencia,
Count(M.ID) as muitourgente,
count(U.ID) as urgente,
count (PU.ID) as poucourgente,
count (MU.ID) as menosurgente
From ConsultaMedica as E,
ConsultaMedica as M,
consultaMedica as U,
consultamedica as PU,
consultamedica as MU
WHERE E.ID_gravidade = 1 And M.ID_gravidade = 2 AND U.ID_gravidade = 3 AND PU.ID_gravidade = 4 AND MU.ID_gravidade = 5;
我的表是“ConsultaMedica”,我想在一次查询中获得数字 1、2、3、4 和 5 出现在“ID_Gravidade”列中的次数。
我的结果是0|0|0|0|0,但我期望1|0|0|0|0,因为我有一行的“ID_Gavidade”列等于1,没有其他数字的列。
【问题讨论】:
-
请标记您正在使用的 DBMS。
-
您的答案在下方,但此评论是为了帮助您将来调试和理解。全为零的结果是因为最后四个值中的任何一个都没有行,并且
where子句强制每个值至少有一个。同样在更大的表上,查询将需要很长时间才能运行。
标签: sql database join group-by pivot