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

Откуда:
Сообщений: 23
Доброй всем ночи!!!
Есть вопрос, подскажите начинающему: таблица:номер(ключ),фамилия(повторяется неоднократно,ключи разные естессено)
необходимо выдать эти фамилии с минимальными для них номерами в исходной таблице
3 фев 06, 02:52    [2315967]     Ответить | Цитировать Сообщить модератору
 Re: наверно это просто((  [new]
Relic Hunter
Member

Откуда: AB
Сообщений: 7431
select name, min(num) from your_table group by name
3 фев 06, 03:35    [2315982]     Ответить | Цитировать Сообщить модератору
 Re: наверно это просто((  [new]
wfs
Member

Откуда:
Сообщений: 23
спасибо за вариант!!! не выходит, он выдает несколько раз одну запись, с разными номерами соответственноб...не сортирует, выдает все как и было
3 фев 06, 03:54    [2315989]     Ответить | Цитировать Сообщить модератору
 Re: наверно это просто((  [new]
Relic Hunter
Member

Откуда: AB
Сообщений: 7431
group by как раз для того, чтобы выдать запись по которому мы group by только раз. Покажи запрос
3 фев 06, 04:09    [2315993]     Ответить | Цитировать Сообщить модератору
 Re: наверно это просто((  [new]
wfs
Member

Откуда:
Сообщений: 23
примерно так,пишет, что group неверно используется..тут еще столбец-время


select user_nam,fff

from
(

select user_nam,times, min(nom)as fff

from (select user_nam,times,nom from ....where ..... )
group by user_nam
)
where ......

group by user_nam
3 фев 06, 04:43    [2315998]     Ответить | Цитировать Сообщить модератору
 Re: наверно это просто((  [new]
wfs
Member

Откуда:
Сообщений: 23
declare @t datetime
declare @r datetime
declare @d int
set @d=3
set @t=getdate()

select fam,min(nom)as всего
from mytable where ((datepart(dd,@t+@d-datepart(dd,@t))=datepart(dd,times))
and (datepart(mm,@t+@d-datepart(dd,@t))=datepart(mm,times))
and (datepart(yy,@t+@d-datepart(dd,@t))=datepart(yy,times)))
group by fam

вопрос:как сделать это для всех чисел месяца в одном запросе???
сильно ногами не пинать..
3 фев 06, 23:21    [2320352]     Ответить | Цитировать Сообщить модератору
 Re: наверно это просто((  [new]
wfs
Member

Откуда:
Сообщений: 23
declare @t datetime
declare @r datetime
declare @d int
set @d=3
set @t=getdate()

select fam,min(nom)as всего
from mytable where ((datepart(dd,@t+@d-datepart(dd,@t))=datepart(dd,times))
and (datepart(mm,@t+@d-datepart(dd,@t))=datepart(mm,times))
and (datepart(yy,@t+@d-datepart(dd,@t))=datepart(yy,times)))
group by fam

вопрос:как сделать это для всех чисел месяца в одном запросе???
сильно ногами не пинать..
3 фев 06, 23:45    [2320370]     Ответить | Цитировать Сообщить модератору
 Re: наверно это просто((  [new]
S.A.N.
Member

Откуда: Москва
Сообщений: 139
wfs
сильно ногами не пинать..

А не сильно можно? :)
declare @DB datetime
declare @DE datetime
SeLect @DB='20060101', @DE='20060228'
--для периода
select fam,min(nom)as всего
from mytable where (times Between @DB And @DE)
group by fam

--для текущего месяца
select fam,min(nom)as всего
from mytable where (Year(getdate())=Year(times)) And (Month(getdate())=Month(times))
group by fam
4 фев 06, 14:30    [2320957]     Ответить | Цитировать Сообщить модератору
 Re: наверно это просто((  [new]
wfs
Member

Откуда:
Сообщений: 23
ага, не против!!))))
спасибо за рекомендации, от всей души!!
4 фев 06, 23:11    [2321563]     Ответить | Цитировать Сообщить модератору
 Re: наверно это просто((  [new]
wfs
Member

Откуда:
Сообщений: 23
кстати в случае текущего месяца идет поиск минимального значения для всего месяца, а не для каждого дня в отдельности!!!
5 фев 06, 15:36    [2322225]     Ответить | Цитировать Сообщить модератору
 Re: наверно это просто((  [new]
S.A.N.
Member

Откуда: Москва
Сообщений: 139
--для текущего месяца с разделением(группировкой) по дням
select fam,min(nom)as всего, Day(times)
from mytable where (Year(getdate())=Year(times)) And (Month(getdate())=Month(times))
group by fam, Day(times)
5 фев 06, 15:49    [2322239]     Ответить | Цитировать Сообщить модератору
 Re: наверно это просто((  [new]
wfs
Member

Откуда:
Сообщений: 23
OK!!!))
5 фев 06, 17:19    [2322326]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить