|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
20.02.2016, 09:48 | #1 |
Новичок
Джуниор
Регистрация: 20.02.2016
Сообщений: 3
|
Выбрать все строки с разными значениями столбца (MySQL)
День добрый.
Есть таблица: 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. |
20.02.2016, 10:02 | #2 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
Найди способ как в дате забить нулями минуты и секунды, потом GROUP BY по этому вычисленному полю, а в перечне SELECT мускул допускает поля без агрегатных функций
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
20.02.2016, 10:50 | #3 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
попробуйте такой запрос:
Код:
|
20.02.2016, 10:59 | #4 |
Новичок
Джуниор
Регистрация: 20.02.2016
Сообщений: 3
|
Спасибо, отлично работает.
|
20.02.2016, 11:09 | #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. |
20.02.2016, 12:23 | #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 |