我在 MySql 中有一个名为的表,order_item
其中包含特定订单的详细信息,其中包含以下字段(以及其他一些我可能觉得没有必要在这里发布的字段)。
- order_id
- prod_id
- 订购数量
- 价格
我需要计算畅销产品。我正在使用以下 SQL 语句。
SELECT o.prod_id, sum(o.qty_ordered) as qty_ordered, p.prod_img
FROM order_item o, product_image p
WHERE o.prod_id=p.prod_id AND
p.prod_id IN(SELECT prod_id FROM product_image limit 1) AND
order_id IN(SELECT order_id FROM order_table WHERE od_status='Completed')
GROUP BY prod_id
HAVING SUM(qty_ordered)>=5
ORDER BY prod_id DESC
上面的查询计算最畅销的产品。唯一的问题是上面语句中提到的子查询
p.prod_id IN(SELECT prod_id FROM product_image limit 1)
不起作用。MySQL 抱怨
This version of MySQL doesn't yet support 'LIMIT & IN/ALL/ANY/SOME subquery'
此子查询检索product_image
表中维护的产品图像,其中同一产品有多个产品图像,我只需要显示其中一个。
我的服务器版本是 5.1.48。还有其他方法可以解决这种情况吗?