我想选择区域为“ newyork”的前5行,如果没有可用记录,则选择任何记录;如果对于区域“ newyork”仅找到3条记录,则选择其他2条记录,然后相应地选择其余记录。示例从表名中选择*,其中area ='newyork'仅获取前5行[如果仅存在3条记录,则选择其余2行以及其他可用区域]。有人可以帮忙吗?
答案 0 :(得分:1)
基本上,您希望先对“纽约”进行排序,这是一种方法。
select
case when area = 'newyork' then 0 else 1 end as nyFlag
<whatever else>
from mytable
order by 1, <....>
fetch first 5 rows only