2017-05-01 18 views
0

你好,我想查询一个表,并选择截然不同的,但与不同的ordey,我希望这与desc。 我该怎么做?如何通过Postgresql以不同顺序选择不同的对象

CREATE TABLE test_dupl2(id SERIAL, letter_one TEXT, number_int INT, primary key (id)); 

INSERT INTO test_dupl2(letter_one,number_int) VALUES ('A',1), ('A',2), ('B',1), ('A', 9), ('B', 4); 

我查询

select letter_one, number_int from 
    (SELECT DISTINCT ON (letter_one) letter_one, number_int FROM test_dupl2) as foo 
order by foo.number_int desc; 

错误的输出:

('A', 1), ('B', 1) 

输出我想:

('A', 9), ('B', 4) 

Postgresql9.4

回答

1
select distinct on (letter_one) letter_one, number_int 
from test_dupl2 
order by 1, 2 desc; 

letter_one | number_int 
------------+------------ 
A   |   9 
B   |   4 
(2 rows) 
+0

你能解释我这部分“order by 1,2”desc @klin吗? – 1pa

+0

按第一栏和第二栏顺序排列,缩写。 '通过letter_one,number_int desc'命令。 – klin

+0

oww谢谢谢谢@klin !! – 1pa

相关问题