我正在寻找解决此类问题的方法。 例如,我有一个客户表,我需要在客户端编号为123之前按字母顺序(名称)获取所有客户端。 例如:
ID name
500 Anny
145 Bob
454 Cindy
789 Dan
123 Eve
400 Fred
我会得到Anny,Bob,Cindy和Dan。 我正在使用postgres。
答案 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;