Считайте только если поле заполнено - PullRequest
0 голосов
/ 19 мая 2019

У меня есть вопрос о запросе SQL, который я хочу написать. Предположим, у меня есть столбец со следующими значениями в таблице: школа с столбцом: оценки.

 SUI grades | Score
  2  9          2
  2  9          
  5  4          1
  5  4          1
  5  4
  6  1          1
  6  1          

Теперь я хочу вывод, где он группирует SUI, который считает оценки, только если заполнен счет. Таким образом, мой вывод будет:

SUI Count 
 2    1
 5    2
 6    1

Ответы [ 3 ]

1 голос
/ 19 мая 2019

Я бы отфильтровал перед агрегированием:

SELECT sui, COUNT(*)
FROM t
WHERE score IS NOT NULL
GROUP BY sui;
1 голос
/ 19 мая 2019

Если значения просто пустые и НЕ пустые, вы можете использовать функцию <> '' Он будет считать только те поля, в которых есть значения

SELECT SUI, Count(Grades)
FROM mytable 
WHERE Score <> ''
GROUP BY SUI
0 голосов
/ 19 мая 2019

count игнорирует нули, поэтому вы можете использовать условие having:

SELECT   sui, COUNT(score)
FROM     mytable
GROUP BY sui
HAVING   COUNT(score) > 0
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...