选择条件是否存在,其他条件限制X

时间:2019-06-24 08:22:46

标签: postgresql

我正在尝试在Postgres中获得一个SQL查询,根据标准查询,我可以得到5个结果:

SELECT ... FROM ... WHERE ... LIMIT 5;

但是,如果我得到的结果少于5个,我想更改WHERE条件,但总共要保留5个结果(第一个条件+第二个条件)。

您有什么提示吗?

1 个答案:

答案 0 :(得分:2)

您可以使用UNION ALL(或UNION,如果它满足您的要求)并按专门为设置行优先级而创建的虚拟数字列进行排序:

select 1 nr, col1, col2, ... from tablename where condition1
union all
select 2 nr, col1, col2, ... from tablename where condition2
union all
select 3 nr, col1, col2, ... from tablename where condition3
union all
  ............................
order by nr
limit 5