Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 SELECT id, min(parameter), other_fields  [new]
ironromeo
Member

Откуда:
Сообщений: 4
нужен запрос типа
SELECT id, min(parameter), other_fields group_by id
ну такой запрос конечно не работает так каr не определено, что other_fields надо взять у записи с минимальным parameter.
Так как взять other fields у записи с минимальным parameter, но заданным id
9 июн 03, 12:38    [225568]     Ответить | Цитировать Сообщить модератору
 Re: SELECT id, min(parameter), other_fields  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74925
SELECT

id, parameter, other_fields
FROM
SomeTable
WHERE
parameter = (SELECT TOP 1 parameter FROM SomeTable S
WHERE SomeTable.id = S.id ORDER By parameter)


???
9 июн 03, 12:46    [225580]     Ответить | Цитировать Сообщить модератору
 Re: SELECT id, min(parameter), other_fields  [new]
ironromeo
Member

Откуда:
Сообщений: 4
SELECT
id, parameter, other_fields
FROM
SomeTable
WHERE
parameter = (SELECT TOP 1 parameter FROM SomeTable S
WHERE SomeTable.id = S.id ORDER By parameter)

Нельзя! Так как у записей с разными id могут оказаться одинаковый parameter
В результате чужой parameter зацепит лишние записи у другого id
9 июн 03, 12:52    [225593]     Ответить | Цитировать Сообщить модератору
 Re: SELECT id, min(parameter), other_fields  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74925
Нельзя! Так как у записей с разными id могут оказаться одинаковый parameter

Нет, может я и ошибаюсь. Но данный запрос отберет тока записи, имеющие минимальный параметр в пределах id.
9 июн 03, 12:55    [225599]     Ответить | Цитировать Сообщить модератору
 Re: SELECT id, min(parameter), other_fields  [new]
ironromeo
Member

Откуда:
Сообщений: 4
действительно работает. спасибо
9 июн 03, 13:11    [225625]     Ответить | Цитировать Сообщить модератору
 Re: SELECT id, min(parameter), other_fields  [new]
LexusR
Member

Откуда: Novosibirsk
Сообщений: 1873

SELECT s1.id, s2.parameter, s1.other_fields
FROM SomeTable s1
join (select id, min(parameter) as parameter from SomeTable) s2 on (s2.id = s1.id)
9 июн 03, 13:16    [225635]     Ответить | Цитировать Сообщить модератору
 Re: SELECT id, min(parameter), other_fields  [new]
LexusR
Member

Откуда: Novosibirsk
Сообщений: 1873
c group by конечно

SELECT s1.id, s2.parameter, s1.other_fields
FROM SomeTable s1
join (select id, min(parameter) as parameter from SomeTable group by id) s2 on (s2.id = s1.id)
9 июн 03, 13:17    [225640]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить