使用“group by”复制结果

时间:2016-03-04 21:21:46

标签: mysql

我对此查询有疑问

select alarmas, count(alarmas) 
from lista_equipos 
where alarmas not like'%n/a%' 
group by alarmas;

结果不会巩固主要警报计数。

Critical    6
Major       1
Major       9

警告36 enter image description here enter image description here

2 个答案:

答案 0 :(得分:0)

我不知道为什么我们需要在这里使用like运算符。以下查询应该有效:

select alarmas, count(*)
from lista_equipos
where alarmas not like '%N/A%'
group by alarmas

或者,如果我们想要忽略空格和大小写(因为我们似乎有围绕它们的空格的值),那么我们可以使用以下查询:

select lower(trim(alarmas)) as alarm, count(*)
from lista_equipos
where alarmas not like '%N/A%'
group by alarm

答案 1 :(得分:0)

问题是\r字符。的quickfix:

SELECT REPLACE(alarmas, '\r','') AS alarmas, COUNT(alarmas) 
FROM lista_equipos 
WHERE alarmas NOT LIKE '%n/a%' 
GROUP BY REPLACE(alarmas, '\r','');

正确的方法是在插入前清理数据。