【发布时间】:2022-09-23 23:57:08
【问题描述】:
我用 SQL 制作了下表:
CREATE TABLE facts (
id INTEGER PRIMARY KEY,
dates DATE DEFAULT CURRENT_DATE NOT NULL,
amount NUMERIC( 7, 2) NOT NULL,
client CHAR(40) NOT NULL
);
INSERT INTO facts VALUES ( 1, DATE \'10-9-2017\', 500, \'Mark\'),
( 2, DATE \'11-9-2017\', 170, \'Joseph\'),
( 3, DATE \'20-9-2017\', 500, \'Louis\'),
( 4, DATE \'25-9-2017\', 30, \'Joseph\'),
( 5, DATE \'25-10-2017\', 40, \'Anne\');
我正在尝试选择日期早于 2017 年 9 月 15 日或数量大于 400 的行的名称。为此,我使用以下命令:
SELECT client FROM facts WHERE dates<\'15-9-2017\' OR amount>400 ORDER BY amount DESC;
我的问题是有两个相等的数量,我想只对数量相等的名字进行升序排序,所以我想最后得到的是: \"Louis, Mark, Joseph\" 按顺序和我不知道如何使用 ORDER BY 仅对具有相同数量的那些进行排序。
-
你试过
SELECT amount, client FROM facts WHERE dates<\'2017-09-15\' OR amount>400 ORDER BY amount DESC, client ASC;
标签: sql postgresql