尝试过滤表格以获取最新产品

时间:2018-11-04 21:25:14

标签: sql sql-server sql-order-by where

可以帮我吗?

首先,这不是家庭作业。我不知道该怎么解决。

我尝试了很多次都没有成功。我真的不知道该怎么解决。

看看这张照片:

https://gyazo.com/a8bde055c05874f031cde53c802aa145

请解释一下该怎么做?我已经搜索过,但是我尝试过,但是我不知道该怎么解决

2 个答案:

答案 0 :(得分:1)

我假设您正在寻找与描述有关的最新商品。

下面的查询为您提供了具有新更新的描述列表。

SELECT description, MAX(last_update_date)
FROM a
GROUP BY description

然后,您必须将表重新连接到自身上,以获取其他列。

SELECT a.item_num, a_newest.description, a_newest.last_update_date, a.request_id, a.category
FROM (
    SELECT description, MAX (last_update_date)
    FROM  a
    GROUP BY description
) a_newest
LEFT JOIN a on a_newest.description = a.description
    AND a_newest.last_update_date = a.last_update_date

答案 1 :(得分:0)

您可以使用ROW_NUMBER

SELECT
    [ITEM_NUM],
    [DESCRIPTION],
    [LAST_UPDATE_DATE],
    [RESQUEST ID],
    [CATEGORY],
FROM (
    SELECT
        [ITEM_NUM],
        [DESCRIPTION],
        [LAST_UPDATE_DATE],
        [RESQUEST ID],
        [CATEGORY],
        ROW_NUMBER() OVER (
            PARTITION BY
                [ITEM_NUM]
            ORDER BY
                [LAST_UPDATE_DATE] DESC
        ) [RN]
    FROM [A]
) [A]
WHERE
    [A].[RN] = 1