Получение количества записей в группах - PullRequest
0 голосов
/ 29 июня 2011

У меня есть таблица данных, которая содержит числа от 0 до 100.

Я хотел бы написать запрос, который получает количество записей в диапазонах от 0 до 10, от 11 до 20 ......и от 91 до 100

Возможно ли это?

Большое спасибо за любую помощь.

Дейв

Ответы [ 4 ]

2 голосов
/ 29 июня 2011

Предполагая, что ваш стол выглядит примерно так ...

CREATE TABLE `test1` (
  `ts` BIGINT(20) DEFAULT NULL
) ENGINE=INNODB; 

... вы можете решить эту проблему с помощью математического подхода:

SELECT ROUND((T.ts-1)/10) AS "tt",
       COUNT(*)
FROM test1 AS T
GROUP BY tt;
0 голосов
/ 29 июня 2011

Это должно дать вам результаты:

SELECT MIN(`id`) `id_from`, MAX(`id`) as `id_to`, COUNT(1) `count_id`
FROM `session`
GROUP BY (FLOOR(IF(id>0, id-1, id) / 10));

Пожалуйста, не стесняйтесь изменять имена таблиц и столбцов в соответствии с вашей схемой.

Надеюсь, это поможет.

0 голосов
/ 29 июня 2011

Выберите количество от ( Выберите * из (выберите * из таблицы, где val> = 'lowerlimit'), где val <= 'upperlimit') </p>

0 голосов
/ 29 июня 2011

подзапрос сделает работу за вас

SELECT
  (SELECT COUNT(brands) FROM data_table where brands BETWEEN 1 and 10 ) as '1-10',
  ...
  (SELECT COUNT(brands) FROM data_table where brands BETWEEN 90 and 100 ) as '90-100',
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...