выберите запрос для нескольких столбцов с одинаковым типом значений - PullRequest
0 голосов
/ 19 мая 2018

У меня есть база данных, где я храню целые числа в столбцах следующим образом:
1 1 1 1
1 1 1 1
1 0 1 0
0 1 2 2

поэтому я хочу получить количество каждого столбца, например, со значением 1.
Я буду очень благодарен:)

Я пытался использовать много запросов, но я не знаю, как работатьтаким образом я также проверил стек через поток и многие другие веб-сайты, но почему-то я все еще застрял в этой проблеме.Я также пытался использовать предложение IN.

Я пытался использовать оператор SELECT, используя OR и AND, но я знал, что это не будет работать, и это даст неправильные результаты.

1 Ответ

0 голосов
/ 19 мая 2018

Это немного зависит от того, что вы имеете в виду.Если вы хотите посчитать, сколько раз значение 1 появляется в ваших таблицах, вы можете использовать count(*):

select
(select count(*) from myTable where col1 = 1) +
(select count(*) from myTable where col2 = 1) +
(select count(*) from myTable where col3 = 1) +
[...]

Или вы можете использовать case выражений:

select sum(*) from (
    select
    (case when col1 = 1 then 1 else 0 end) +
    (case when col2 = 1 then 1 else 0 end) +
    (case when col3 = 1 then 1 else 0 end)
    from myTable
)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...