Вывод данных в интервале

xa2020
Дата: 28.12.2012 00:49:37
Добрый вечер.
Столкнулся с проблемой: Есть таблица , в ней 2 столбца.В первом количество (от 0 до 500) , во втором цифры , от (1 , 600000000) , но это как бы микросекунды.
CREATE TABLE `base` (
`kol` int(11) DEFAULT NULL,
`msec` int(11) DEFAULT NULL
) ENGINE=InnoDB DEFAULT PACK_KEYS=0;

Надо вывести что-то следующем образом:
(день 1) (количество изменений kol)
(день 2) (количество изменений kol)
(день 3) (количество изменений kol)

Попробовал сделать обратный запрос:
select kol, count(msec) from base where kol like 100 limit 0,100;
В результате запроса получается одна строчка , а надо бы пока не закончится.

Пытался еще сделать следующим образом , успеха нет:
set @i = '1';
select count(kol) , @i = (@i + 86400000000) AS cytki
from base
where kol= @i;
javajdbc
Дата: 28.12.2012 01:11:31
xa2020,

приведите пример исходных данных (4-10 строчек)
и желаемый результат кокретно из этих данных.

Похоже что задача несложная но не совсем понятна без примера.
xa2020
Дата: 28.12.2012 01:33:10
javajdbc,
Картинка с другого сайта.
Таблица выглядит скрин выше , это часть данных.
Надо вывести следующем образом:
час(интервал взять из микросекунд) , и количество изменений (kol)
второе логично считать , по моему мнению через count(kol) , т.к нас интересует только количество соответствующих значений временному интервалу (мы берем за час , например).

То есть результат должен выглядеть:
(0 часов) (количество изменений kol за это время)
(1 час) (количество изменений kol за это время)
(2 час) (количество изменений kol за это время)
bochkov
Дата: 28.12.2012 05:20:22
как интервал может определяться одним значением, как минимум должно быть 2,
`msec` int(11) DEFAULT NULL что же всетаки обозначает этот столбец?
javajdbc
Дата: 28.12.2012 07:28:10
bochkov
как интервал может определяться одним значением, как минимум должно быть 2,
`msec` int(11) DEFAULT NULL что же всетаки обозначает этот столбец?


наверно задача просто вывести толи SUM(kol) , толи COUNT(1)
группировкой по рабоче-крестьянским часам:
от 00:00:00 до 00.59:59 включительно
от 01:00:00 до 01.59:59 включительно
итд.

почему-то ТС срывает пример нужного результата,
и способ переведения трехгрупных милисекунд в
какую-нибудь дату...
xa2020
Дата: 28.12.2012 11:46:29
от 00:00:00 до 00.59:59 включительно | количество изменений с 00:00:00 до 00.59:59
от 01:00:00 до 01.59:59 включительно | количество изменений с 01:00:00 до 01.59:59
это вообще будет превосходно.


Но можно конечно и вот так:
от 0 - до 999999| количество изменений с 0 msec до 999999 msec
от 1000000 - до 1999999 | количество изменений с 1000000 msec до 1999999 msec
xa2020
Дата: 28.12.2012 12:10:50
xa2020,
Вот что у меня получилось:
set @1 = 0;
 set@2 = 125641990;  \\число взято на бум
select count(kol) ,  @1 AS start,  @2 AS fin
from base
where msec >= @1 and msec < @2


И надо чтобы он сам доходил до конечного результата. Последние данные msec известны: 610 000 000 , с каким-то определенным шагом , ну допустим 25 000 000.
qwerty112
Дата: 28.12.2012 12:18:05
xa2020
от 00:00:00 до 00.59:59 включительно | количество изменений с 00:00:00 до 00.59:59
от 01:00:00 до 01.59:59 включительно | количество изменений с 01:00:00 до 01.59:59
это вообще будет превосходно.


Но можно конечно и вот так:
от 0 - до 999999| количество изменений с 0 msec до 999999 msec
от 1000000 - до 1999999 | количество изменений с 1000000 msec до 1999999 msec

так, как-то
select 
  count(kol), 
  (msec div 1000000)*1000000 as st,
  (msec div 1000000)*1000000+999999 as fn
from base
group by (msec div 1000000)
xa2020
Дата: 28.12.2012 12:23:08
qwerty112,
Спасибо большое , то что нужно.
а можно st и fn в одну колонку вывести , чтобы они через "-" или "_" отображались?
javajdbc
Дата: 28.12.2012 17:19:15
xa2020,
select 
  c_kol,
  concat(st,'-',fn) vremq
from
(
select 
  count(kol) c_kol, 
  (msec div 1000000)*1000000 as st,
  (msec div 1000000)*1000000+999999 as fn
from base
group by (msec div 1000000)
) tt