我有一个带有 product_id 和 entry_date 字段的产品表(它是 varchar,并且在 php 中具有 time() 函数的时间戳值)。我想获得每周上传多少产品的结果。请告诉我 SQL,以便我可以得到每周上传多少产品的结果。
我也有 user_id 字段。我还需要每个用户每周上传多少产品。
SELECT CONCAT(YEAR(entry_date), '_', WEEKOFYEAR(entry_date)) AS week, COUNT(*) Count, user_id
FROM `tbl_products`
GROUP BY week, product_id, user_id
尝试这样的事情:
SELECT data-you-want-to-retrieve
FROM `Your-Table`
WHERE entry_date > (curdate() - 604800)
所以它看到输入日期大于 7 天前的日期。
每周产品上传数:
SELECT CONCAT(YEAR(entry_date), '_', WEEKOFYEAR(entry_date)) AS week,
COUNT(1) AS prodcnt
FROM products
GROUP BY week
特定用户每周的产品数量:
SELECT CONCAT(YEAR(entry_date), '_', WEEKOFYEAR(entry_date)) AS week,
COUNT(1) AS prodcnt
FROM products
WHERE user_id = <userid here>
GROUP BY week
您将获得按类似 分组的结果2012_48
,其中48
是一年中的第几周(从 1 到 53)。