считать 2 значения в одном столбце - PullRequest
0 голосов
/ 19 мая 2019

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

grades
9
9
4
4
4
1
1

Теперь я хочу посчитать, сколько раз есть 9 и сколько раз есть 4 в оценках столбца, а затем сложить (2 + 3). поэтому вывод моего sql запроса будет 5. Я хочу посчитать только 4 и 9 значения.

Ответы [ 3 ]

1 голос
/ 19 мая 2019
SELECT COUNT(*) FROM SCHOOL WHERE grades IN (4,9)

В ответ на комментарий вы можете попробовать суммировать оператор CASE:

SELECT
    SUM( CASE WHEN grades IN (4,9) THEN 1 ELSE 0 END ) AS MyFirstColumn,
    SUM( CASE WHEN grades NOT IN (4,9) THEN 1 ELSE 0 END ) AS MySecondColumn
FROM school

Для ясности вы можете попробовать выполнить приведенный ниже запрос без сумм, чтобы убедиться, что вы понимаете, что вы реализуете:

SELECT
    CASE WHEN grades IN (4,9) THEN 1 ELSE 0 END AS MyFirstColumn,
    CASE WHEN grades NOT IN (4,9) THEN 1 ELSE 0 END AS MySecondColumn
FROM school

Если вас интересуют только 4, 9 и 1 классы, я бы порекомендовал добавить предложение WHERE в конце, так как вы заметите, что второй столбец будет подсчитывать строки без 4 или 9 (это может включать оценки, отличные от 1).

WHERE grades IN (1,4,9)
0 голосов
/ 19 мая 2019

Вот один из способов сделать это:

SELECT 
SUM(grades IN (4,9)) AS Column1,
SUM(grades =1) AS Column2 
FROM school;
0 голосов
/ 19 мая 2019

Если я правильно понимаю, вы считаете цифры 4 или 9. Вот запрос.

Select count(1) From yourtable Where grades in (4,9)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...