Mysql

如何選擇列值較大但以降序方式最接近的行

  • August 21, 2022

假設我們有一些價值觀。

  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

假設我想查詢大於 6 的值並且限制為 2,但以 desc 順序方式。我要輸出 8,7

SELECT number FROM table WHERE number > 6 ORDER BY number DESC LIMIT 2;

但它輸出9,8。它從字面上匹配查詢。但我希望它輸出最接近的值。

我使用的sql是mysql-8.0和sqlite。

非常感謝有人可以幫助我。

您需要先以另一種方式訂購,然後在外部選擇中訂購 desc

SELECT number 
FROM (
   SELECT number 
   FROM table 
   WHERE number > 6 
   ORDER BY number LIMIT 2
) AS t
ORDER BY number desc

引用自:https://dba.stackexchange.com/questions/315863