SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 23.09.2011 22:12:48

Contusion
Участник
Зарегистрирован: 13.09.2011
Сообщений: 10

Выборка записей по полю Time

Помогите пожалуйста грамотно составить запрос, не хватает мозгов самому собразить.

1. Есть таблица порядка 60 тысяч записей.
2. У каждой таблицы есть поле формата TIME
3. Записи изначально отсортированы по полю TIME, от меньшего времени к большему.
4. Нужен некий цикл, который с самого раннего времени выбирает поля в пределах ОДНОЙ минуты, в программе(пишу на C++) над этими данными проводятся манипуляции, потом выбираются поля в пределах следующей одной минуту и.т.д. Пока все "минуты" не будут обработаны.


Очень рассчитываю на Вашу помощь!


У таблицы примерно такая структура:
...... | 21:46:45 |
...... | 21:46:49 |
...... | 21:46:49 |
...... | 21:46:55 |
...... | 21:47:05 |
...... | 21:47:05 |
...... | 21:47:05 |
...... | 21:47:15 |
...... | 21:47:16 |
...... | 21:47:35 |
...... | 21:48:08 |
...... | 21:48:22 |
...... | 21:48:49 |
...... | 21:48:49 |
...... | 21:49:27 |
...... | 21:50:01 |
...... | 21:50:01 |
...... | 21:50:01 |
...... | 21:50:21 |
...... | 21:50:31 |
...... | 21:51:05 |
...... | 21:51:14 |
...... | 21:51:16 |
...... | 21:51:50 |
...... | 21:52:04 |
...... | 21:52:04 |
...... | 21:52:05 |
...... | 21:52:05 |
...... | 21:52:20 |
...... | 21:52:22 |
...... | 21:52:49 |
...... | 21:52:53 |
...... | 21:52:53 |
...... | 21:53:01 |
...... | 21:53:01 |
...... | 21:53:12 |

Неактивен

 

#2 24.09.2011 00:01:39

deadka
Администратор
Зарегистрирован: 14.11.2007
Сообщений: 2422

Re: Выборка записей по полю Time

Не вполне, если честно, понятно, какой именно запрос Вы хотите smile.

Если пишете на c/c++, то Вы спокойно можете формировать минуты в цикле на c++ - при наличии ключика на поле time это будет вполне себе эффективно. Если затрудняетесь написать такой код - то с этим добро пожаловать в соответствующий раздел на webew.ru.

Можно ПРИМЕРНО так (это если не замарачиваться спецполями для времени/даты, если хотим выбрать все минуты от 21:00:00 до 22:00:00, код на c):

char buf[70]; // хватит для этого запроса, но не увлекаемся, не переходим за границы
for (unsigned int i=0; i<60; ++i) {
  snprintf(buf, sizeof(buf), "select * from t where `time`>='21:%u:00' and `time`<=' 21:%u:59' ", i, i);
  // Далее выполняем этот запрос, делаем что здесь должно быть нужно, в-общем здесь могла быть ваша реклама
}
 

Отредактированно deadka (24.09.2011 01:39:26)


Зеленый свет для слабаков, долги отдают только трусы, тру гики работают только в консоли...

Неактивен

 

#3 24.09.2011 01:03:30

Contusion
Участник
Зарегистрирован: 13.09.2011
Сообщений: 10

Re: Выборка записей по полю Time

deadka, благодарю!
Оказывается, что это так просто.

Неактивен

 

#4 24.09.2011 01:40:24

deadka
Администратор
Зарегистрирован: 14.11.2007
Сообщений: 2422

Re: Выборка записей по полю Time

На здоровье smile. Правда вариант, который я привел - он очень упрощенный. Реально Вам нужно выбрать минимальное время, максимальное - и в таком виде уже цикл устраивать. За подробностями - на webew.ru smile.


Зеленый свет для слабаков, долги отдают только трусы, тру гики работают только в консоли...

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson