[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Помогите с запросом
paulyudin
Всем привет! Помогите еще раз, только осваиваю MySql - не могу разобраться.
Есть поле mydate типа datetime. Задача выбрать записи за сегодня за период времени, например с 13:00 до 14:00.

Родил что-то такое, но во-первых оно кривое, а во-вторых почему-то не работает:

SELECT * FROM orders WHERE mydate >= CURDATE() AND HOUR(mydate)>=13 AND HOUR(mydate)<=14

Помогите пожалуйста советом! )
GET
http://www.mysql.ru/docs/man/Date_and_time_functions.html

Там есть ваш пример

_____________
Не тот велик, кто не падал, а тот кто падал и поднимался.
paulyudin
Цитата (GET @ 1.02.2015 - 13:18)
http://www.mysql.ru/docs/man/Date_and_time_functions.html

Там есть ваш пример

Все там перелопатил, но все равно не сообразил ) Напишите хотя бы какую функцию оттуда использовать?
paulyudin
Короче, понят, что для вас слишком простой вопрос, что бы на него отвечать. Сделал вообще через задницу, зато все работает:
$now_d=date('Y-m-d', time()); 
echo $now_d."<br />";
$comm=mysql_query("select count(*) from orders where date BETWEEN '".$now_d." 12:00:00' AND '".$now_d." 13:00:00'");
GET
paulyudin
Для сегодня в mysql есть функция NOW() (она возвращает сегодня - дату и время), а чтоб была только одна дата можно обернуть ее вот так: DATE(NOW())

_____________
Не тот велик, кто не падал, а тот кто падал и поднимался.
paulyudin
Цитата (GET @ 1.02.2015 - 14:11)
paulyudin
Для сегодня в mysql есть функция NOW() (она возвращает сегодня - дату и время), а чтоб была только одна дата можно обернуть ее вот так: DATE(NOW())

Спасибо, получилось! А так мой запрос составлен грамотно для промежутка времени?
paulyudin
Еще вопрос, когда с 12:00 за 13:00 за сегодня я понял:

select count(*) from orders where date BETWEEN (DATE(NOW()) + INTERVAL 12 HOUR) AND (DATE(NOW()) + INTERVAL 13 HOUR)


А как выбрать записи, например, с 12:00 до 12:59?
paulyudin
Всем "спасибо". Сам допер:

select avg(curs) from orders where date BETWEEN (DATE(NOW()) + INTERVAL '0 12:00:00' day_second) AND (DATE(NOW()) + INTERVAL '0 12:59:00' day_second
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.