Как найти максимальное (sortnumber) для кода элемента в SQL Server? - PullRequest
0 голосов
/ 04 июля 2019

У меня следующая таблица SQL Server ITEM:

+------------+-----------+------+--------+-----------+------------+
|    Date    | item_code | name | in/out | total_qty | SortNumber |
+------------+-----------+------+--------+-----------+------------+
| 08/07/2019 |       001 | A    |    -50 |       100 |          8 |
| 07/07/2019 |       001 | A    |     50 |       100 |          7 |
| 06/07/2019 |       003 | C    |     25 |        25 |          6 |
| 05/07/2019 |       001 | A    |     50 |        50 |          5 |
| 04/07/2019 |       002 | B    |    100 |       200 |          4 |
| 03/07/2019 |       003 | C    |    -25 |         0 |          3 |
| 02/07/2019 |       003 | C    |     25 |        25 |          2 |
| 01/07/2019 |       002 | B    |    100 |       100 |          1 |
+------------+-----------+------+--------+-----------+------------+

Я пробовал:

select itemcode, max(Sort_Number) 
from ITEM
group by item_code 
order by item_code asc

но я хочу результат:

+---------------------+-----------+------------------+
| Distinct(item_code) | Total_qty | Max(Sort_Number) |
+---------------------+-----------+------------------+
| 001                 | 100       | 8                |
| 002                 | 200       | 4                |
| 003                 | 25        | 6                |
+---------------------+-----------+------------------+

Кто-нибудь может мне помочь?

Ответы [ 2 ]

1 голос
/ 04 июля 2019

Приведенный ниже запрос дает желаемый результат -

With cteItem  as
(
 select item_code, total_qty, SortNumber, 
 Row_Number() over (partition by item_code order by SortNumber desc)  maxSortNumber
 from ITEM 
)
select item_code, total_qty, SortNumber from cteItem where maxSortNumber = 1
0 голосов
/ 04 июля 2019

просто нужно добавить max(sort_number) к вашему запросу

select item_code ,max(total_qty), max(sort_number)
from ITEM
group by item_code 
order by item_code asc
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...