powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Помогите с запросом
5 сообщений из 5, страница 1 из 1
Помогите с запросом
    #32042849
Новичок
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть таблица c полями:
id - identity
date - datetime, дата
category - int, номер группы
и другие

Нужно, например, из 1,2 и 3 групп вытащить по последней записи. Достаточно только id:

SELECT TOP 1 id FROM table WHERE category=1 ORDER BY [date] DESC
SELECT TOP 1 id FROM table WHERE category=2 ORDER BY [date] DESC
SELECT TOP 1 id FROM table WHERE category=3 ORDER BY [date] DESC

Можно ли это реализовать одним запросом?
...
Рейтинг: 0 / 0
Помогите с запросом
    #32042857
Denis_Ka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а union не прокатит?
...
Рейтинг: 0 / 0
Помогите с запросом
    #32042863
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В принципе можно так:

Код: plaintext
1.
2.
3.
4.
5.
select t.id
from table as t
join (select category, max([date]) as dt
from table
group by category ) as t1 on t.category = t1.category and t.[date] = t1.dt
...
Рейтинг: 0 / 0
Помогите с запросом
    #32042870
Новичок
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Воспользуюсь Union.
...
Рейтинг: 0 / 0
Помогите с запросом
    #32042927
Фотография MiCe
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я решал такую проблему через вспомогательную таблицу,
в которой поддерживаются актуальные значения...
поддерживается через тригера очень просто....
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Помогите с запросом
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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