【发布时间】:2013-11-07 01:28:08
【问题描述】:
我有一个查询,我想在一个 mysql 查询中选择带有标准广告的特色广告(一个查询,因为网站流量很高,所以在数据库中执行两个查询会导致性能问题)
*要求是选择所有精选广告,然后选择 2 个标准广告,并且它们都必须随机排序。 *
所以我使用了以下查询,它与 UNION 关键字一起工作正常,但问题是 RANDOM 的排序仅适用于第二个查询。
( SELECT * FROM ads WHERE status='Y' AND priority='High' ORDER BY RAND() )
UNION (SELECT * FROM ads WHERE status='Y' AND count<=limits
AND priority!='High'
ORDER BY RAND() LIMIT 0 , 2
)
我在这里做错了什么?有任何想法吗 ?作为一个附带问题,任何性能友好的方式来选择随机行而不是使用 RAND 关键字?
【问题讨论】:
-
看看这个答案是否对你有帮助:stackoverflow.com/a/6397878/1385896
标签: mysql