0
$listSQL = "SELECT op.name as prodname,count(*) total
FROM oc_order_product op
INNER JOIN oc_order o ON op.order_id = o.order_id
INNER JOIN oc_product_to_category p2c ON op.product_id = p2c.product_id
INNER JOIN oc_category_description cd ON cd.category_id = p2c.category_id ";
$listSQL = $listSQL."where lower(cd.name) LIKE '%".$category_name."%'
AND YEAR(o.date_added) = '".$StartDate."'
AND o.order_status_id > '0' ";
$listSQL = $listSQL."GROUP BY op.name ORDER BY o.date_added ASC";
私はこの名前の製品名を表示しています。フィルタデータ月ごとにMysql
商品名と商品ごとに、その特定の年のその月の月とカウントを表示したいとします。
たとえば、2015年はすべての12か月を表示し、その月の製品の数を表示します。
年によって 'グループ(日付フィールド)、月(日付フィールド)'、基本的に、あなたの日付が実際の日付/時刻フィールドとして格納されていると仮定しています。 –
ステートメントについて_「製品名を表示して年に数える」というこのクエリがあります。それはあなたが示したクエリがしているものではありません。それはWHERE句で年ごとにフィルタリングされますが、ORDER BYはグループ化された値ごとに見つかった行から実質的にランダムに 'date_added'を使用します。 – Uueerdo
の日付は「2016-06-28 11:58:01」として保存されます。月ごとにグループ化すると、製品名の月名が表示され、それ自体が繰り返されます。毎月のカウントは取得されません。 –