Добро пожаловать в форум, Guest >> Войти | Регистрация | Поиск | Правила | | В избранное | Подписаться | ||
Все форумы / Microsoft SQL Server |
![]() ![]() |
Васелина Member Откуда: Сообщений: 42 |
Есть данные таблицы номер операции(nop), операция(op) , норма(nv),участок(uh) 05 отрезка 2.5 заготовительный 10 очистка 2,1 заготовительный 15 сверление 2,5 механический 20 слесарная 1,1 заготовительный Мне нужно отсортировать по номеру операции и сгруппировать по участку , и взять максимальную операцию и сумму норм должно получиться 10 4,6 заготовительный 15 2,5 механический 20 1,1 заготовительный |
15 май 18, 15:12 [21410909] Ответить | Цитировать Сообщить модератору |
iap Member Откуда: Москва Сообщений: 47061 |
Васелина, почему 10 -> 4.6 ?? |
15 май 18, 15:15 [21410915] Ответить | Цитировать Сообщить модератору |
Посетитель Member Откуда: Сообщений: 1210 |
ну так возьмите. group by, max,sum и order by вам в помощь только сортировка в конце, а не в начале :) |
||
15 май 18, 15:16 [21410916] Ответить | Цитировать Сообщить модератору |
Посетитель Member Откуда: Сообщений: 1210 |
iap, потому что
|
||
15 май 18, 15:17 [21410920] Ответить | Цитировать Сообщить модератору |
TaPaK Member Откуда: Kiev Сообщений: 6801 |
легче не стало |
||||
15 май 18, 15:21 [21410930] Ответить | Цитировать Сообщить модератору |
Akina Member Откуда: Зеленоград, Москва, Россия Сообщений: 21042 |
|
||
15 май 18, 15:22 [21410933] Ответить | Цитировать Сообщить модератору |
iap Member Откуда: Москва Сообщений: 47061 |
|
||||
15 май 18, 15:22 [21410934] Ответить | Цитировать Сообщить модератору |
Посетитель Member Откуда: Сообщений: 1210 |
если нужна группировка не просто по названию участка, а по непрервыным диапазонам с учетом порядка, заданного nop, то надо будет дополнительно группировать по row_number()over(order by nop)-row_number()over(partition by uh order by nop) |
15 май 18, 15:23 [21410938] Ответить | Цитировать Сообщить модератору |
Посетитель Member Откуда: Сообщений: 1210 |
пожалуй, мой косяк. в упор не видел, что в последней строке стоит тот же участок, хотел еще написать, что в примере такой строки не хватает :) |
||
15 май 18, 15:25 [21410943] Ответить | Цитировать Сообщить модератору |
iap Member Откуда: Москва Сообщений: 47061 |
|
||||
15 май 18, 15:27 [21410948] Ответить | Цитировать Сообщить модератору |
Посетитель Member Откуда: Сообщений: 1210 |
iap,
|
|
15 май 18, 15:31 [21410962] Ответить | Цитировать Сообщить модератору |
TaPaK Member Откуда: Kiev Сообщений: 6801 |
хоть кто-то глаза нам открыл |
|||
15 май 18, 15:32 [21410968] Ответить | Цитировать Сообщить модератору |
Щукина Анна Member Откуда: Сообщений: 1512 |
Васелина,with any_t (nop, op, nv, uh) as ( select * from (values (05, 'отрезка', 2.5, 'заготовительный'), (10, 'очистка', 2.1, 'заготовительный'), (15, 'сверление', 2.5,' механический'), (20, 'слесарная', 1.1, 'заготовительный') )v(a,b,c,d) ) select max(nop) as x_nop , sum(nv) as total_nv , uh from ( select * , row_number() over(order by nop) - row_number() over(partition by uh order by nop) as x_group_id from any_t ) any_v group by uh, x_group_id order by x_nop |
15 май 18, 16:15 [21411074] Ответить | Цитировать Сообщить модератору |
Васелина Member Откуда: Сообщений: 42 |
Щукина Анна и TaPaK Спасибо. Все получилось. |
16 май 18, 09:01 [21412355] Ответить | Цитировать Сообщить модератору |
Посетитель Member Откуда: Сообщений: 1210 |
![]() вот это поворот |
||
16 май 18, 09:13 [21412378] Ответить | Цитировать Сообщить модератору |
TaPaK Member Откуда: Kiev Сообщений: 6801 |
Козловская группировка переформатировалась? |
16 май 18, 09:23 [21412402] Ответить | Цитировать Сообщить модератору |
Руслан Дамирович Member Откуда: Резиновая нерезиновая Сообщений: 942 |
пацталом |
||
16 май 18, 09:48 [21412451] Ответить | Цитировать Сообщить модератору |
Васелина Member Откуда: Сообщений: 42 |
Посетитель, спасибо. Промахнулась.) |
16 май 18, 14:13 [21413508] Ответить | Цитировать Сообщить модератору |
Все форумы / Microsoft SQL Server | ![]() |