두 테이블이 있습니다. 다음은 쿼리에 사용될 일부 필드입니다. 내가 원하는 무엇MySQL 쿼리는 일정 기간 내에 가장 많이 팔린 제품을 찾습니다.
tgc_sales (code,sale_date_time, order_status)
tgc_sales_items (sales_code, quantity, product_name, product_code)
는 특정 기간 내에서 가장 판매 제품을 얻을 수 있습니다 (예를 들어 주 등 한 달). 지금까지 시도 무엇
:
SELECT SUM(tsi.quantity) AS quantity, tsi.product_name AS product_name
FROM tgc_sales_items tsi
JOIN tgc_sales ts ON ts.code = tsi.sales_code
WHERE DATE(ts.sale_date_time)>='2014-05-01'
AND ts.order_status='Completed'
GROUP BY tsi.product_code
ORDER BY quantity DESC LIMIT 10
물론, 쿼리가 잘못하고 나에게 예상치 못한 결과를주고있다. JOIN과 WHERE 절을 무시하면 가장 많이 팔린 제품을 보여 주지만 특정 기간에 판매가 이루어졌고이를 수행하는 방법을 알 수 없기 때문에 필요할 때가 있습니다.
'sales_date_time'의 유형은 무엇입니까? 몇 가지 샘플 값으로 질문을 편집하십시오. –
집계 SUM()을 제거하면 항목과 관련하여 올바른 수량 값을 얻나요? – nbpeth