powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / MySQL [игнор отключен] [закрыт для гостей] / sql - количество записей в диапазоне значений поля
7 сообщений из 7, страница 1 из 1
sql - количество записей в диапазоне значений поля
    #39939227
trancerr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
доброго дня

не знаю как правильно искать вопрос в гугле

нужно получить количество записей в диапазоне значений поля от 1 до 9 и от 10 до 20 и тд несколько групп, пример

строка 1 10
строка 2 15
строка 3 11
строка 4 5
строка 5 12
строка 6 9
строка 7 13
строка 8 1

результат должен быть
от 1 до 9 - 3
от 10 до 20 - 5

как сделать одним запросом ?

P.L.U.R.
...
Рейтинг: 0 / 0
sql - количество записей в диапазоне значений поля
    #39939313
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: sql
1.
2.
3.
4.
SELECT SUM(field_value BETWEEN 1 AND 9) AS from_1_to_9,
       SUM(field_value BETWEEN 10 AND 20) AS from_1_to_20,
...
FROM tablename
...
Рейтинг: 0 / 0
sql - количество записей в диапазоне значений поля
    #39939326
trancerr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
отлично! спасибо
...
Рейтинг: 0 / 0
sql - количество записей в диапазоне значений поля
    #39939367
paver
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Akina
Код: sql
1.
2.
3.
4.
SELECT SUM(field_value BETWEEN 1 AND 9) AS from_1_to_9,
       SUM(field_value BETWEEN 10 AND 20) AS from_1_to_20,
...
FROM tablename


В подобных ситуациях конструкцию SUM(<условие>) можно заменить на COUNT(<условие> OR NULL), ну, то есть,
Код: sql
1.
2.
SELECT COUNT(field_value BETWEEN 1 AND 9 OR NULL) AS from_1_to_9,
...


Есть какие-либо показания за/против использования того или иного варианта?
...
Рейтинг: 0 / 0
sql - количество записей в диапазоне значений поля
    #39939371
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
paver
Есть какие-либо показания за/против использования того или иного варианта?
Ну если найдётся смысл в добавлении ещё одной логической операции... я лично его не вижу. На практике нужно просто сравнить производительность обеих конструкций на приличном массиве данных. И что-то мне подсказывает, что разница будет меньше ошибки измерения.
...
Рейтинг: 0 / 0
sql - количество записей в диапазоне значений поля
    #39939388
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
paver
Есть какие-либо показания за/против использования того или иного варианта?

Попробовал на синтетическом массиве данных в 1кк значений с равномерным распределением, по 10 раз каждый запрос, с чередованием. SUM - 2.01-2.30 секунд, среднее 2.17, COUNT - 2.22 - 2.51 секунды, среднее 2.38.

Так что SUM стабильно выигрывает порядка 10%.
...
Рейтинг: 0 / 0
sql - количество записей в диапазоне значений поля
    #39939538
paver
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Akina
Ну если найдётся смысл в добавлении ещё одной логической операции... я лично его не вижу.

Исходная задача - считать количество строк, для чего собственно COUNT и предназначена.
Ну и еще это забавное напоминание, что будет, если логический результат сложить с NULL ))

Попробовал на синтетическом массиве данных в 1кк значений с равномерным распределением, по 10 раз каждый запрос, с чередованием. SUM - 2.01-2.30 секунд, среднее 2.17, COUNT - 2.22 - 2.51 секунды, среднее 2.38.
Так что SUM стабильно выигрывает порядка 10%.
Ага, спасибо.
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / sql - количество записей в диапазоне значений поля
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]