回答

收藏

SQL根据列中最大值选择多列

技术问答 技术问答 277 人阅读 | 0 人回复 | 2023-09-14

好吧,所以我对其他解决方案没有帮助。所以这就是我想做的。我需要选择多列行,其中一列的值是最大值。2 ~7 m5 u( m7 S+ t" w( |& Z: Y9 K
这是样本数据
5 `1 n/ E! P4 o+ E$ O                orderfileid item number item cost   warehouse                        334                  .4555                                     ATL                             .677                                              DFW                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             .4555                                     NYY      3                                                                                                                .                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        ORD     2                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  .677                                              DFW我需要选择整行,其中orderfileid是每个商品编号的最大值/ e" i) y, o5 f, P! |
返回的数据集应该看起来像
, e9 q' m) M# k2 f: M5 @0 b                orderfileid item number item cost   warehouse     2                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  .677                                              DFW                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             .4555                                     NYY      3                                    .                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        ORD我想我试过我能想到的select max(orderfileid)的每种组合8 [, m; e. B4 }
任何帮助都将被申请。. R( A7 l$ c# K5 ?* r; S* I5 `. U: ]% v
                                                                ! H; D# J- W2 Y
    解决方案:                                                                4 _) @5 L% [7 _9 u3 E" ]* o
                                                                您需要在子查询中找到它MAX将这些结果连接到主表进行检索列。+ M: d, X0 ~: O- l) ?) T
SELECT t.OrderFileId,t.ItemNumber,t.ItemCost,t.Warehouse    FROM YourTable t        INNER JOIN (SELECT ItemNumber,MAX(OrderFileId) AS MaxOrderId                        FROM YourTable                        GROUP BY ItemNumber) q            ON t.ItemNumber = q.ItemNumber                AND t.OrderFileId = q.MaxOrderId
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则