powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Помогите составить запрос, проблема с временными условиями..
12 сообщений из 12, страница 1 из 1
Помогите составить запрос, проблема с временными условиями..
    #39038180
Mbrkzn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем привет имеется запрос вида:

select MONTHNAME(_time) as MONTH, DAYOFMONTH(_time) as DAY, TIME(_time between '08:00:00' AND '20:00:00') as DAYS, Printer_name, SUM(List_result) from `printer` where id in (select id from printer WHERE (_time BETWEEN '2015-08-22' AND '2015-08-24' )) group by DAYOFMONTH(_time), Printer_name;

1. выделаю диапазон по датам - выборка происходит правильно
2. Мне нужно получить сумму с 8:00:00 по 20:00:00 каждого дня (т.е. не общее).. - то что я написал выше не работает..
...
Рейтинг: 0 / 0
Помогите составить запрос, проблема с временными условиями..
    #39038201
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MbrkznМне нужно получить сумму с 8:00:00 по 20:00:00 каждого дня (т.е. не общее)..
Код: sql
1.
SUM(CASE WHEN _time between '08:00:00' AND '20:00:00' THEN any_field_to_sum ELSE 0 END)
...
Рейтинг: 0 / 0
Помогите составить запрос, проблема с временными условиями..
    #39038213
Mbrkzn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Akina
Тот же результат сюда залезают строки не из диапазона _time between '08:00:00' AND '20:00:00'
...
Рейтинг: 0 / 0
Помогите составить запрос, проблема с временными условиями..
    #39038254
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mbrkznсюда залезают строки не из диапазона _time between '08:00:00' AND '20:00:00'
Не верю. Показывай цитату с консоли.
Или кто-то задачу формулирует неверно. Тогда ещё показывай DDL и наполнение.
...
Рейтинг: 0 / 0
Помогите составить запрос, проблема с временными условиями..
    #39038303
Mbrkzn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Для начала чтобы увидеть что в таблице:
SELECT List_result, _time FROM `printer` where _time BETWEEN '2015-08-23' AND '2015-08-24' AND Printer_name = 'Айдар'

List_result _time
600 2015-08-23 05:03:22
40000 2015-08-23 06:22:17
//Время 5:03 и 6:22 эти строки зайти не должны!

select MONTHNAME(_time) as MONTH, DAYOFMONTH(_time) as DAY, SUM(CASE WHEN _time between ('08:00:00') AND ('20:00:00') THEN List_result ELSE 0 END), Printer_name from `printer` where id in (select id from printer WHERE (_time BETWEEN '2015-08-23' AND '2015-08-24' )) AND Printer_name = 'Айдар' group by DAYOFMONTH(_time), Printer_name


MONTH DAY SUM(CASE WHEN _time between ('08:00:00') AND ('20:00:00') THEN List_result ELSE 0 END) Printer_name
August 23 40600 Айдар
...
Рейтинг: 0 / 0
Помогите составить запрос, проблема с временными условиями..
    #39038314
Mbrkzn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
может это связано что тип поля _time TIMESTAMP?
...
Рейтинг: 0 / 0
Помогите составить запрос, проблема с временными условиями..
    #39038326
Mbrkzn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
все разобрался нужно было сделать так TIME(_time)
...
Рейтинг: 0 / 0
Помогите составить запрос, проблема с временными условиями..
    #39038331
Mbrkzn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ещё попутно вопрос как выделить диапазон временной но уже с 20:00:00 по (08:00:00 следующего дня)
...
Рейтинг: 0 / 0
Помогите составить запрос, проблема с временными условиями..
    #39038357
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mbrkznкак выделить диапазон временной но уже с 20:00:00 по (08:00:00 следующего дня)
Трансформировать его в "НЕ с 8 до 20".
...
Рейтинг: 0 / 0
Помогите составить запрос, проблема с временными условиями..
    #39038442
Mbrkzn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
просто трансформировать в НЕ с 8 до 20 не получается
мне нужно сделать следующий выбор с 20:00:00 до 00:00:00 и с 00:00:00 до 08:00:00 следующего дня
т.е. если с 00:00:00 до 08:00:00 то DAY = -1; т.е. день уже следующий а смена предыдущего дня
...
Рейтинг: 0 / 0
Помогите составить запрос, проблема с временными условиями..
    #39038472
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mbrkznпросто трансформировать в НЕ с 8 до 20 не получается
мне нужно сделать следующий выбор с 20:00:00 до 00:00:00 и с 00:00:00 до 08:00:00 следующего дня
т.е. если с 00:00:00 до 08:00:00 то DAY = -1; т.е. день уже следующий а смена предыдущего дня
А группировать надо правильно:
Код: sql
1.
GROUP BY DATE(_time)
...
Рейтинг: 0 / 0
Помогите составить запрос, проблема с временными условиями..
    #39038495
Mbrkzn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
сделал вот так
select DAYOFMONTH(_time) as DAY, SUM(CASE WHEN TIME(_time) between ('08:00:00') AND ('20:00:00') THEN 0 ELSE List_result END), Printer_name from `printer` where id in (select id from printer WHERE (_time BETWEEN '2015-08-23' AND '2015-08-28' )) group by DATE(_time), Printer_name

не выходит..(
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Помогите составить запрос, проблема с временными условиями..
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]