微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

php – MySql按分数desc选择 – 当有多个分数总计… ODD

好吧,所以我有一张桌子上摆满了客户“推荐书”.有些标记为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混合在一起. 我更愿意在查询中完成所有这些…
有任何想法吗?

解决方法:

您只需在工作查询添加一个简单的OR条件:

SELECT * from testimonials WHERE score > 8 OR (source = 'source2' AND score > 3) ORDER BY rand()

这选择分数> 8为source1和>您的SWITCH说明建议将3作为source2.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐