在 sqlite 中按两列排序



在产品表中,我有两列,如下所示的特价和价格。 要求是我必须根据特价对产品进行分类。如果对于产品,特价为0.0,则应采用正常价格进行排序。如果特价不是0.0,则应采用特价。我想要一个用于排序的 sqlite 查询。请帮助我。

|---------------------|------------------|------------------|
|     special_price   |     price        |   product_id     |
|---------------------|------------------|------------------|
|          550.0      |       699.95     |      1           |
|---------------------|------------------|------------------|
|          0.0        |       260.0      |      2           |
|---------------------|------------------|------------------|
|          250.0      |      332.66      |      3           |
|---------------------|------------------|------------------|

我们可以尝试通过CASE表达式进行排序,该表达式根据您的逻辑选择正确的订购价格。

SELECT *
FROM yourTable
ORDER BY CASE WHEN special_price > 0 THEN special_price ELSE price END;

最新更新