有没有办法通过条件以订购的SQLite SELECT结果值?

问题描述 投票:0回答:1

我试图从本地SQLite数据库检索值。通过“itemnumber ASC”命令表的条目。

当有多个条件查询,我想通过我的那里的条件的顺序进行排序的选择项。

数据库:

CREATE TABLE `Articles` 
(
    `Itemnumber`    TEXT,
    `Description`   TEXT DEFAULT NULL,
    `Sellingprice_` REAL DEFAULT NULL,
    PRIMARY KEY(`Itemnumber`)
);

INSERT INTO Articles VALUES ('00000015', 'Lorem ipsum', 15.99);
INSERT INTO Articles VALUES ('00000016', 'Lorem ipsum', 16.99);
INSERT INTO Articles VALUES ('00000018', 'Lorem ipsum', 18.99);
INSERT INTO Articles VALUES ('00000019', 'Lorem ipsum', 19.99);
INSERT INTO Articles VALUES ('00000021', 'Lorem ipsum', 21.99);

查询:

SELECT * 
FROM Articles 
WHERE Itemnumber LIKE '00000021'
   OR Itemnumber Like '00000015'
   OR Itemnumber Like '00000018';

结果:

[ITEMNUMBER]    [DESCRIPTION]    [SELLINGPRICE]
  00000015       Lorem ipsum         15.99
  00000018       Lorem ipsum         18.99
  00000021       Lorem ipsum         21.99

但它需要这样的:

[ITEMNUMBER]    [DESCRIPTION]    [SELLINGPRICE]
  00000021       Lorem ipsum         21.99
  00000015       Lorem ipsum         15.99
  00000018       Lorem ipsum         18.99
sqlite sql-order-by condition where
1个回答
0
投票

您可以定义order by是这样的:

order by 
  case Itemnumber 
    when '00000021' then 0
    when '00000015' then 1
    when '00000018' then 2
  end;
© www.soinside.com 2019 - 2024. All rights reserved.