在某个条目之前按字母顺序获取所有条目(postgres)

时间:2015-01-04 17:43:53

标签: sql postgresql subquery

我正在寻找解决此类问题的方法。 例如,我有一个客户表,我需要在客户端编号为123之前按字母顺序(名称)获取所有客户端。  例如:

ID  name
500 Anny
145 Bob
454 Cindy
789 Dan
123 Eve
400 Fred

我会得到Anny,Bob,Cindy和Dan。 我正在使用postgres。

2 个答案:

答案 0 :(得分:0)

您可以这样做:

select c.*
from clients c
where c.name < (select c2.name from clients c2 where c2.id = 123)
order by c.name;

答案 1 :(得分:0)

我会使用自我加入:

SELECT c2.*
FROM   clients c1
JOIN   clients c2 ON c2.name < c1.name
WHERE  c1.id = 123
ORDER  BY c2.name;