![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Новичок
Джуниор
Регистрация: 20.02.2016
Сообщений: 3
|
![]()
День добрый.
Есть таблица: id name time 1 some_name 2013-04-09 15:00:00.000 1 some_name 2013-04-09 15:01:00.000 1 some_name 2013-04-10 15:01:00.000 2 some_name 2013-04-09 15:00:00.000 2 some_name 2013-04-09 16:50:25.000 2 some_name 2013-04-10 15:01:00.000 3 some_name 2013-04-09 15:50:25.000 3 some_name 2013-04-09 16:50:25.000 3 some_name 2013-04-09 17:50:25.000 4 some_name 2013-04-09 15:59:59.000 Нужно выбрать по одной строке (любой) за каждый час с 2012 по 2015 год. За час, это например с 12:00 по 12:59:59, миллисекунды можно не учитывать. Поле time типа DATETIME Результат такой: 1 some_name 2013-04-09 15:00:00.000 2 some_name 2013-04-09 16:50:25.000 3 some_name 2013-04-09 17:50:25.000 1 some_name 2013-04-10 15:01:00.000 или например такой: 4 some_name 2013-04-09 15:59:59.000 2 some_name 2013-04-09 16:50:25.000 3 some_name 2013-04-09 17:50:25.000 1 some_name 2013-04-10 15:01:00.000 Последний раз редактировалось Zurav; 20.02.2016 в 09:55. |
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
![]()
Найди способ как в дате забить нулями минуты и секунды, потом GROUP BY по этому вычисленному полю, а в перечне SELECT мускул допускает поля без агрегатных функций
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
![]() |
![]() |
![]() |
#3 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]()
попробуйте такой запрос:
Код:
|
![]() |
![]() |
![]() |
#4 |
Новичок
Джуниор
Регистрация: 20.02.2016
Сообщений: 3
|
![]()
Спасибо, отлично работает.
|
![]() |
![]() |
![]() |
#5 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]()
да не за что! рад был помочь!
Ремарка в тему. я вообще крайне настороженно отношусь в запросам (и СУБД, которое это позволяют!), которые выбирают столбцы, не указанные в агрегатной функции. поймите, что Вы этим запросом говорите, что если несколько строк таблицы попадают в одну группу(агрегацию), то Вам ВСЁ равно, какие данные из этой группы получить! поясню. если будут такие данные 1 some_name 2013-04-09 15:00:00.000 2 other_name 2013-04-09 15:01:00.000 1 Vasya 2013-04-09 15:00:01.000 то Вам всё равно, будет ID 1 или 2 и name будет some_name или other_name или Vasya впрочем, Вам, как программисту, самому решать - важно Вам это или нет! ![]() Последний раз редактировалось Serge_Bliznykov; 20.02.2016 в 11:11. |
![]() |
![]() |
![]() |
#6 |
Новичок
Джуниор
Регистрация: 20.02.2016
Сообщений: 3
|
![]() |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Запрос с разными значениями. | phenne | SQL, базы данных | 2 | 26.01.2016 19:30 |
Как посчитать количество ячеек с разными текстовыми значениями | biva | Microsoft Office Excel | 8 | 30.06.2015 15:00 |
Выбрать все числа из строки | Jene4ka | Общие вопросы Delphi | 7 | 17.03.2011 07:13 |
MySQL выбрать все сообщения после моего | ADSoft | SQL, базы данных | 3 | 11.03.2011 13:28 |
создание массива real рандомно с 2-мя разными значениями после запятой | dima-intro | Помощь студентам | 6 | 15.12.2010 20:15 |