根据多个列中的最小值选择多个列(ms访问)

时间:2018-07-26 08:18:12

标签: ms-access-2003

我通过google搜索,但都是徒劳的,可能是由于我的搜索查询所致。

我有一个如下表

------------------------------------------------------------
| LocalID | ASIN      | Price | Shipping | Total | Currancy |
------------------------------------------------------------
| 1       |B01MSMCN13 | 95.99 | 3        | 98.99 |  GBP     |
------------------------------------------------------------
| 2       |B01MSMCN13 | 100   | 0        | 100.0 |  GBP     |
------------------------------------------------------------
| 3       |B01MSMCN13 | 104.71| 9.61     | 114.32|  GBP     |
------------------------------------------------------------
| 4       |B01MSMCN13 | 124.81| 8.95     | 133.76|  GBP     |
------------------------------------------------------------
| 5       |B073WDMZVT | 139.99| 0        | 139.99|  GBP     |
------------------------------------------------------------
| 6       |B073WDMZVT | 159   | 0        | 159.0 |  GBP     |
------------------------------------------------------------
| 7       |B073WDMZVT | 179   | 0        | 179   |  GBP     |
------------------------------------------------------------

问题:

我想根据最低价格+运费来获取所有列

我想要这样的结果

------------------------------------------------------------
| LocalID | ASIN      | Price | Shipping | Total | Currancy |
------------------------------------------------------------
| 1       |B01MSMCN13 | 95.99 | 3        | 98.99 |  GBP     |
------------------------------------------------------------
| 5       |B073WDMZVT | 139.99| 0        | 139.99|  GBP     |
------------------------------------------------------------

我尝试了很多查询,但没有得到想要的结果。

我们将非常感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

使用min func并分组依据

SELECT * 
FROM Table t
WHERE Total = (SELECT MIN(Total)
               FROM Table t2
               WHERE t.ASIN = t2.ASIN
               GROUP BY ASIN)