好吧,所以我有一张桌子上摆满了客户“推荐书”.有些标记为10,其他标记为5(来自不同来源)
我的表格包含以下字段:
id (int 4 ) AI Pri Index
headline varchar 255
content text
source varchar 55
score double
所以我的问题是:
SELECT * from testimonials WHERE score > 8 ORDER BY rand()
这对我10分中得到的主要证言非常有效,但是现在我有了一个标记为5的新套装,我需要设计一种新方法来将它们拉出来并将它们混合在一起.
到目前为止,我已经删除了分数> 8子句,并在我的脚本中添加了一个SWITCH限制子句,以删除< 8 for source 1,< 3为source2.
这些现在按DESC顺序显示,但我希望整个批次是随机的,或者至少在结果中将source1和source2混合在一起.
我更愿意在查询中完成所有这些…
有任何想法吗?
解决方法:
SELECT * from testimonials WHERE score > 8 OR (source = 'source2' AND score > 3) ORDER BY rand()
这选择分数> 8为source1和>您的SWITCH说明建议将3作为source2.