我目前正在通过来自 PHP 的两个单独的查询来执行此操作,但我希望以某种方式在单个查询中进行优化。
第一次查询..
SELECT `referrer`
FROM `tbl_traffic_log`
WHERE `domain` = 'mysite.com'
AND `referrer` != '$referringDomain'
AND CASE WHEN `clicks_in_unique`=0 THEN 2 ELSE `clicks_out_unique`/`clicks_in_unique` END < 1.4
ORDER BY RAND()
LIMIT 1
..如果 mysql_num_rows 没有显示任何结果,我会进行第二次查询以重试并检查是否有任何结果减去referrer
!= 'partner1.com' 部分。
该代码基本上是试图找到一个随机的贸易伙伴,该伙伴不是发送该点击的伙伴,但如果没有匹配项,作为最后的手段,只要它符合其他条件,就可以发回。
我很确定有办法做到这一点,但在搜索后找不到方法(可能是因为我对问题的理解不足以输入正确的内容)。
也欢迎对该查询的任何其他批评。
谢谢 :)