这是我当前获取交易的查询:
SELECT deals.*, SUM(orders.cost) AS 'revenue' FROM deals
LEFT JOIN orders ON (orders.deal_id = deals.id)
WHERE 1
AND (orders.status = 'new' OR orders.status = 'delivered')
GROUP BY deals.ID
ORDER BY revenue ASC
现在这很好用,我可以通过(排序依据)我希望在订单或交易表中的任何字段对这个查询进行排序。
然后,当我遍历交易并使用 foreach() 显示它们时,我有这个查询来从客户那里获取交易的平均评论星数:
SELECT ROUND(AVG(stars)) as 'avg_stars' FROM deals_reviews WHERE deal_id = *THE DEAL_ID* AND active = '1'
现在我想从平均星级中将所有交易 ASC/DESC 排序出来。
为此,我需要将该查询与上述查询合并,当我需要显示 avg_stars 时,我从第一个也是唯一一个查询而不是第二个查询中获取该值。
我怎样才能将该查询“合并”到第一个查询中?所以当那完成后,我们可以做 ORDER BY avg_stars DESC 并且它会按这个排序?