MySQL: получить количество для каждого диапазона - PullRequest
1 голос
/ 17 июня 2020

Существует mysql Ver 8.0.18 value_table как:

value count
1    3
11   1
12   2
22   5
31   1
34   3
35   1
40   3
46   7

Что такое запрос для получения общего количества для каждой дюжины (1-10 - первая дюжина, 11-20 - вторая и т. Д. c ..) как:

1   3
2   3
3   5
4   8
5   7

Запрос должен быть гибким, поэтому при добавлении некоторых записей в value_table, например

51 2
62 3

, нет необходимости изменять запрос, добавив новый диапазон (51-60 - 6-я дюжина, эт c.)

1 Ответ

2 голосов
/ 17 июня 2020

Я думаю, вам просто нужно разделение и агрегирование:

select min(value), sum(count)
from t
group by floor(value / 10);

Честно говоря, я не уверен, должен ли первый столбец быть min(value) или floor(value / 10) + 1.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...