これは、テーブルのproduct
テーブルLEFT JOIN
で使用しているクエリで、列は..非常に簡単です。page
ON
productid
page
id
product
SELECT
COUNT(DISTINCT `p`.`id`) as `quantity`,
DATE_FORMAT(`p`.`created_time`,'%Y-%m-%d') AS `day`
FROM
`product` AS `p`
LEFT JOIN
`page` AS `pg` ON `p`.`id` = `pg`.`productid`
WHERE
`p`.`created_time` BETWEEN '2013-07-03 00:00:00' AND '2013-07-10 23:59:59'
AND
`p`.`group` = '101'
GROUP BY `day`, `p`.`id` HAVING COUNT(`pg`.`productid`)>=10
ORDER BY `p`.`created_time`
関連する 2 つの例のテーブル:
**product**
id created_time
32 2013-07-09
33 2013-07-09
**page**
id productid
1 33
2 33
.. ..
20 33
21 32
22 32
.. ..
54 32
今、私の結果セットは次のようになります。
quantity day
1 2013-07-09
1 2013-07-09
1 2013-07-10
しかし、テーブルUNION
を使用しない場合と使用しない場合の次の出力が必要です。temp
quantity day
2 2013-07-09
1 2013-07-10
上のコード例に 2 つのテーブルが追加されました。グループ化されたproduct
10 個以上の数が必要ですpage
day