|
Подсчет значений в условии с выводом нулей
|
|||
---|---|---|---|
#18+
Доброго времени суток! Вопрос наверное совсем глупый, но в голову ничего не приходит ибо чайник. Собственно делаю банальный select f1, count(f1) from table group by f1. Выводится таблица с результатами "f1|кол-во f1", но если какое-то значение f1 не было найдено, то оно не попадает в результат. А хочется, чтобы если значение не найдено, то было выведено "f1|0". Как это можно сделать? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.01.2018, 17:46 |
|
Подсчет значений в условии с выводом нулей
|
|||
---|---|---|---|
#18+
вместо count(f1) используйте ifnull нечто ifnull(count(f1),0, count(f1)), более точно в документацию ... |
|||
:
Нравится:
Не нравится:
|
|||
17.01.2018, 18:16 |
|
Подсчет значений в условии с выводом нулей
|
|||
---|---|---|---|
#18+
GroMoZeKazzzДоброго времени суток! Вопрос наверное совсем глупый, но в голову ничего не приходит ибо чайник. Собственно делаю банальный select f1, count(f1) from table group by f1. Выводится таблица с результатами "f1|кол-во f1", но если какое-то значение f1 не было найдено, то оно не попадает в результат. А хочется, чтобы если значение не найдено, то было выведено "f1|0". Как это можно сделать?А что значит не найдено? Откуда ты знаешь что это значение вообще существует и может быть в f1? f1 это что такое? Список городов? Клиентов? Номер дня? Просто какая-то цифра? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.01.2018, 18:37 |
|
Подсчет значений в условии с выводом нулей
|
|||
---|---|---|---|
#18+
White OwlGroMoZeKazzzДоброго времени суток! Вопрос наверное совсем глупый, но в голову ничего не приходит ибо чайник. Собственно делаю банальный select f1, count(f1) from table group by f1. Выводится таблица с результатами "f1|кол-во f1", но если какое-то значение f1 не было найдено, то оно не попадает в результат. А хочется, чтобы если значение не найдено, то было выведено "f1|0". Как это можно сделать?А что значит не найдено? Откуда ты знаешь что это значение вообще существует и может быть в f1? f1 это что такое? Список городов? Клиентов? Номер дня? Просто какая-то цифра? А ведь действительно, если f1 нет в таблице, то его и не должно быть в выводе select..., другое дело если идет обьединение 2-х таблиц... Автор темы чего темнит... ... |
|||
:
Нравится:
Не нравится:
|
|||
17.01.2018, 23:22 |
|
Подсчет значений в условии с выводом нулей
|
|||
---|---|---|---|
#18+
GroMoZeKazzz, Для этого нужна таблица-справочник со всеми возможными значениями для поля f1. Далее делается запрос из этой таблицы-справочника, левым соединением к которой подтягиваются данные из твоей исходной таблицы table. Ну и гроуп бай с коунтом становятся «вишенками» на твоём запросе. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.01.2018, 16:52 |
|
Подсчет значений в условии с выводом нулей
|
|||
---|---|---|---|
#18+
GroMoZeKazzzДоброго времени суток! Вопрос наверное совсем глупый, но в голову ничего не приходит ибо чайник. Собственно делаю банальный select f1, count(f1) from table group by f1. Выводится таблица с результатами "f1|кол-во f1", но если какое-то значение f1 не было найдено, то оно не попадает в результат. А хочется, чтобы если значение не найдено, то было выведено "f1|0". Как это можно сделать? LEFT JOIN от таблицы-справочника, содержащей все значения f1. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.01.2018, 13:56 |
|
|
start [/forum/topic.php?fid=55&fpage=3&tid=2009628]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
30ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
45ms |
get tp. blocked users: |
2ms |
others: | 235ms |
total: | 356ms |
0 / 0 |