需要在最后4个交易中获得最高售价

pxq42qpu  于 2021-06-17  发布在  Mysql
关注(0)|答案(1)|浏览(201)

我有一个 table 名为sellingdetails。
表数据如下

+--------+----------------+
|  id    |   sellingPrice |
+--------+----------------+
|  1     |  35000         |
|  2     |  40000         |
|  3     |  30000         |
|  4     |  25000         |
|  5     |  35000         |
|  6     |  33000         |
|  7     |  25000         |
+--------+----------------+

当我询问

SELECT id, sellingPrice 
FROM sellingDetails 
ORDER BY id DESC limit 0, 4

以上查询输出:

+--------+----------------+
|  id    |   sellingPrice |
+--------+----------------+
|  7     |  25000         |
|  6     |  33000         |
|  5     |  35000         |
|  4     |  25000         |
+--------+----------------+

根据以上结果,我怎样才能得到 MAX 结果是35000。我试过用 MAX(sellingprice) 但没用。
这个问题很接近我的问题,但它有连接,而我的是一个表
小提琴
如果我使用下面的查询

SELECT MAX(sellingprice) FROM sellingdetails
ORDER BY id DESC 
LIMIT 0, 4;

我得到的输出是40000,这不是预期的。

kgsdhlau

kgsdhlau1#

可以将现有查询用作派生表,然后从中确定最大值。

SELECT MAX(dt.sellingPrice)
FROM 
(
  SELECT sellingPrice 
  FROM sellingDetails 
  ORDER BY id DESC limit 0, 4
) dt

结果

| MAX(dt.sellingPrice) |
| -------------------- |
| 35000                |

db fiddle视图

相关问题