如果存在则选择值,否则加载默认值

时间:2017-03-16 17:12:46

标签: php mysql codeigniter

这是我的表:

table

如果存在任何默认记录,我希望从特定区域获取默认5条记录,如果存在2条记录则随机需要获取3条记录。如果有4则随机1。例如,如果我想抓取mumbai,那么前2个是孟买'另外3个是从表中获取的任何随机记录。假设我想通过' 华盛顿'那么没有记录所以所有5条记录都需要随机获取。

那我怎么能这样做呢?

我希望你明白我想说的话。如果没有,那么你可以问我。

感谢。

1 个答案:

答案 0 :(得分:0)

您可以使用订单和限制。像这样:

select *
from your_table
order by case when area = 'mumbai' then 1 else 2 end
limit 5;

上述案例表达式将使给定区域保持在顶部,其他区域保持在顶部。 limit 5子句将选择有序行的前5个。