Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Выбор за определенное время
 
 автор: Rolex   (24.06.2011 в 11:16)   письмо автору
 
 

Здравствуйте. Прошу помощи в вопросе: как из таблицы, содержащей 893 строки, состоящей из 2-х столбцов (название и дата вида 20011-06-11 10:12:14) выбрать лишь по одному неповторяющемуся названию у которого дата наиболее близка к нынешнему числу? Заранее благодарен за участие в обсуждении.

  Ответить  
 
 автор: cheops   (24.06.2011 в 11:43)   письмо автору
 
   для: Rolex   (24.06.2011 в 11:16)
 

Можно отталкиваться от следующего запроса
SELECT DISTINCT name, putdate FROM tbl
ORDER BY putdate DESC

  Ответить  
 
 автор: Rolex   (25.06.2011 в 12:50)   письмо автору
 
   для: cheops   (24.06.2011 в 11:43)
 

Я так и делаю. Просто одинаковому значению в столбце name соответствует несколько дат, отличающиеся секундами. Например:

audi 2011-06-11 14:06:11
audi 2011-06-11 14:06:12
audi 2011-06-11 14:06:13

Как из этих строк выбрать одну со временем, максимально близким к нынешнему?

  Ответить  
 
 автор: cheops   (25.06.2011 в 14:27)   письмо автору
 
   для: Rolex   (25.06.2011 в 12:50)
 

А ключевое слово DISTINCT указываете перед name?

  Ответить  
 
 автор: Rolex   (26.06.2011 в 01:49)   письмо автору
 
   для: cheops   (25.06.2011 в 14:27)
 

Да, указывал. Это и есть неповторяющиеся пары (указаны в примере), которые подобный запрос выводит. А вто какой запрос нужен, чтобы он выводил так: audi 2011-06-11 ??? Т.е. DISTINCT выбор был бы по числу, месяцу и году, не учитывая часы, минуты и секунды?

  Ответить  
 
 автор: cheops   (26.06.2011 в 10:40)   письмо автору
 
   для: Rolex   (26.06.2011 в 01:49)
 

Тогда замените запрос следующим
SELECT name, putdate FROM tbl 
ORDER BY putdate DESC
GROUP BY name

  Ответить  
 
 автор: Rolex   (28.06.2011 в 18:59)   письмо автору
 
   для: cheops   (26.06.2011 в 10:40)
 

Спасибо, помогло!

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования