0
我有以下查詢:分組多列
SELECT od.product_id, od.product_name, od.product_quantity, od.product_price,
o.id_address_delivery, a.id_country, a.id_state, s.name
FROM `ps_order_detail` od
LEFT JOIN ps_orders AS o ON od.`id_order` = o.`id_order`
LEFT JOIN `ps_address` AS a ON o.`id_address_delivery` = a.`id_address`
LEFT JOIN `ps_state` AS s ON a.id_state = s.id_state
ORDER BY o.`date_add` DESC
LIMIT 100;
凡返回類似以下數據:
PRODUCT_ID | product_name | product_qty | product_price | id_state
我想知道在每個州的最暢銷產品(數量方面)。例如:
狀態A:最好的賣方產品A(500出售的量) 狀態B:最暢銷的是產品C(150出售量) 狀態C:最好的賣方產品A(100出售的量)
目前我正在考慮做2列之間的JOIN,但第二個想到這需要像功能「樞軸」。
我知道如何獲得合計賣出數量爲每種產品
SELECT od.product_id, od.product_name, COUNT(od.product_id) AS 'total'
FROM `ps_order_detail` od
GROUP BY od.product_id
ORDER BY od.product_id DESC
LIMIT 100;
我也知道賣量爲每個州總,但我不知道如何既結合才達到我需要什麼。我會很感激任何幫助。謝謝
你的小組將在5.7失敗,'ONLY_FULL_GROUP_BY' – Drew
@Drew,將在所有MySQL版本,如果啓用ONLY_FULL_GROUP_BY :)不同的是,在最新版本的5.7 ONLY_FULL_GROUP_BY是默認啓用的失敗,而在以前的版本不是這樣。儘管product_name可能在功能上依賴於product_id,但即使啓用了ONLY_FULL_GROUP_BY,最新版本的MySQL甚至可能允許查詢。 – Shadow
Right @ Shadow開箱即用。當然它是可配置的。 5.7最終會不願意讓自己在腳下自己拍攝 – Drew