虽然标题很广泛,但我的问题很简单。我有一张桌子,我们称之为“新闻”,文章在哪里。通常文章是由order
提取的,但是在首页上,只有当它们被“推荐”时才显示。但是,如果查询是:
SELECT * FROM {TABLE_PREFIX}news WHERE `status` = '1' AND `featured` = '1' ORDER BY `order` LIMIT 0, 4
然后至少有一些文章必须有特色。但是,如果只有2篇精选文章怎么办?所以我希望有一个后备,所以当只有2篇特色文章时,它也会得到两个非特色文章。
我认为,这可以解决问题,但它并不像我计划的那样有效:
SELECT * FROM {TABLE_PREFIX}news WHERE `status` = '1' AND `featured` = '1' ORDER BY `featured`, `order` LIMIT 0, 4
答案 0 :(得分:2)
您走在正确的轨道上,但仍然选择featured = 1
。试试这个:
SELECT * FROM {TABLE_PREFIX}news WHERE `status` = '1' ORDER BY `featured` DESC, `order` LIMIT 0, 4