我有一个查询,如下所示:
..ORDER BY photo.sort_order DESC, profile.description DESC, RAND()
所以这意味着,首先显示带有照片的记录,然后显示带有描述的记录。在其中,我希望订单是随机的(所以如果有十张带照片的记录,它们应该始终位于顶部但随机排序)
以上不起作用,我知道rand()并不是很好的表现。什么是另一个简单的解决方案?
答案 0 :(得分:3)
可能想要改变你的选择以将desc txt从等式中取出,因为你只关心它是否为空。
select photo.sort_order,
profile.description is not null as desc_order,
profile.description,
rand() as r
from
photo photo, profile profile
order by
photo.sort_order desc,
desc_order desc,
r