我在MySql中有一個名爲order_item
的表,其中包含特定訂單的詳細信息,其中包含以下字段(以及其他我可能認爲不必在此處發佈的信息)。在MySql中使用LIMIT子句不適用於子查詢
- ORDER_ID
- PROD_ID
- qty_ordered
- 價格
我需要計算最暢銷的產品。我正在使用下面的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。是否有另一種方法來解決這種情況?