【问题标题】:To make report of how many products sold where entry date is in timestamp报告在时间戳中输入日期的已售产品数量
【发布时间】:2012-08-01 22:51:24
【问题描述】:

我有一个带有 product_id 和 entry_date 字段的产品表(它是 varchar,并且在 php 中具有 time() 函数的时间戳值)。我想获得每周上传多少产品的结果。请告诉我 SQL,以便我可以得到每周上传多少产品的结果。

我还有 user_id 字段。我还需要每个用户每周上传多少产品。

【问题讨论】:

  • 欢迎来到 Stack Overflow!我们鼓励您research your questions。如果您有 tried something already,请将其添加到问题中 - 如果没有,请先研究并尝试您的问题,然后再回来。
  • 假设您知道如何进行查询,找出您要查找的时间戳,然后执行selectwhere,要求您的输入日期在两个时间戳之间你刚刚计算过。然后使用count()

标签: php mysql


【解决方案1】:

可能重复:Show most viewed entries that have been added in the last 7 days

试试这样的:

SELECT data-you-want-to-retrieve
FROM `Your-Table`
WHERE entry_date > (curdate() - 604800)

所以它看到输入日期大于7天前的日期。

【讨论】:

    【解决方案2】:
    SELECT CONCAT(YEAR(entry_date), '_', WEEKOFYEAR(entry_date)) AS week, COUNT(*) Count, user_id
    FROM `tbl_products` 
    GROUP BY week, product_id, user_id
    

    【讨论】:

      【解决方案3】:

      每周产品上传次数:

      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)。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-10-07
        • 2022-06-12
        • 1970-01-01
        • 1970-01-01
        • 2014-02-22
        相关资源
        最近更新 更多