【发布时间】:2015-02-10 02:03:05
【问题描述】:
我的 sphinx.conf 中有这个查询:
sql_query = \
SELECT c.id as cid, s.active AS subscriptionActive, c.icof, c.firma, a.textadr, \
r.textz, cc.value, cc.title, cai.description, cai.vat, cai.name, cai.address, AVG(rev.rating) as companyAverageRating \
FROM companies as c \
LEFT JOIN addresses as a ON c.icof = a.icof \
LEFT JOIN rosformaf r ON c.rosformaf = r.kodzaz \
LEFT JOIN company_contacts as cc ON c.id = cc.company_id \
LEFT JOIN company_add_info as cai ON c.id = cai.company_id \
LEFT JOIN subscriptions as s ON c.id = s.company_id \
LEFT JOIN reviews as rev ON c.id = rev.company_id \
GROUP BY c.id \
sql_attr_float = companyAverageRating
sql_attr_bool = subscriptionActive
如您所见,我需要获得具有平均评级的公司的结果。稍后我将按平均评级降序对这些公司进行排序。但是当我运行 indexer --rotate 时,它卡住了并且服务器正在关闭。您知道这是获取聚合值并按其排序的正确方法,还是我应该使用另一种方法?你知道我如何按聚合值排序的其他方法吗?
谢谢。
【问题讨论】:
标签: php sql sorting group-by sphinx