Форум программистов, компьютерный форум, киберфорум
C#: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
 Аватар для kesean
292 / 291 / 108
Регистрация: 04.09.2010
Сообщений: 638

Выборка записей максимально приближенных к указанной дате

03.05.2014, 14:30. Показов 1225. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Ситуация следующая.
MS SQL, таблица dbo.Details с полями
dID (bigint),
wID (bigint),
dDateRecord (datetime),
dName (nvarchar)
Т.е. данные примерно такие
1 | 10 | 2.05.2014 09:00:00 | Втулка
3 | 10 | 2.05.2014 09:00:00 | Ось
4 | 10 | 2.05.2014 12:42:20 | Ось
5 | 15 | 3.05.2014 09:00:00 | Вал
6 | 10 | 3.05.2014 09:55:00 | Ось
7 | 15 | 3.05.2014 09:00:00 | Втулка
Необходимо сделать выборку записей по wID у которых wID=10, а dDateRecord максимально приближено к указанной дате (например '2.05.2014 13:10:20').
В резулте надо получить
1 | 10 | 2.05.2014 09:00:00 | Втулка
4 | 10 | 2.05.2014 12:42:20 | Ось
SQL
1
2
3
SELECT * FROM Details 
WHERE wID=10 AND 
      dDateRecord<=( SELECT MAX(dDateRecord) FROM Details co WHERE co.dID = dID AND dDateRecord<='20140502 13:10:20')
Возвращает все записи меньше указанной даты:
1 | 10 | 2.05.2014 09:00:00 | Втулка
3 | 10 | 2.05.2014 09:00:00 | Ось
4 | 10 | 2.05.2014 12:42:20 | Ось
SQL
1
2
3
4
SELECT TOP 1 WITH TIES *
FROM Details
WHERE wID=10
ORDER BY abs(datediff(ss, dDateRecord,'20140502 13:10:20')) DESC
Возвращает записи с минимальными датами.
1 | 10 | 2.05.2014 09:00:00 | Втулка
3 | 10 | 2.05.2014 09:00:00 | Ось
В запросах не силен, поэтому прошу помощи.

Добавлено через 54 минуты
Разобрался.
Мой первый вариант был почти правильный. Вот так должно было быть
SQL
1
2
3
SELECT * FROM Details co1
WHERE wID=10 AND 
      dDateRecord<=( SELECT MAX(co2.dDateRecord) FROM Details co2 WHERE co1.dName = co2.dName AND co2.dDateRecord<'20140502 13:10:20')
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
03.05.2014, 14:30
Ответы с готовыми решениями:

Выборка по дате
Всем привет! Нужна выборка по сегодняшней и вчерашней дате. как? То есть если писать по смыслу так: SELECT * FROM concil WHERE...

Выборка по дате
есть таблица после выборки в sql(informix) должны остаться только те поля у которых дата максимальная

Выборка по дате
Есть таблица ( код(pk), количество, цена , дата). Зделал так штоб выводилась таблица сума продаж (количество*цена) и дата за...

1
7804 / 6568 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
03.05.2014, 15:26
Этот запрос вернёт все записи с меньшей или такой же датой, а не только самые близкие.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
03.05.2014, 15:26
Помогаю со студенческими работами здесь

Выборка даных по Дате ?
Вопрос такой как построить sql запрос если у меня есть в Таблице столбик тип - Дата я хочу чтоб вывело строки где дата от текущей +5 дней,...

Не работает выборка по дате
Нужно сделать выборку за текущий месяц, прошлый и за год. Делаю так: private void button1_Click(object sender, EventArgs e) ...

Выборка по дате из TextBox
Подскажите, как заменить cmd.CommandText = &quot;SELECT * FROM obl WHERE DATE(Термін_придатності) &gt;= '2015-12-01' AND DATE(Термін_придатності)...

С# SQL выборка по дате
В таблице Shorts колонка MeasureDate имеет тип datetime Пишу запрос DateTime curr = DateTime.Now.AddMinutes(-15); ...

Выборка записей и группировка их по дате
Как сделать группировку по неделям месяца в запросе? Требуется найти количество заказов товара по неделям (1-ой, 2-ой, 3-ей, 4-ой и 5-ой)....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Krabik - рыболовный бот для WoW 3.3.5a
AmbA 21.03.2026
без регистрации и смс. Это не торговля, приложение не содержит рекламы. Выполняет свою непосредственную задачу - автоматизацию рыбалки в WoW - и ничего более. Однако если админы будут против -. . .
Программный отбор значения справочника
Maks 21.03.2026
Процедура ВодителиНачалоВыбора(Элемент, ДанныеВыбора, ВыборДобавлением, СтандартнаяОбработка) / / Отключаем стандартную обработку (стандартное открытие формы выбора без фильтров) . . .
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru