栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

MYSQL包含零项目计数的日期值

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

MYSQL包含零项目计数的日期值

为更正答案而编辑:

http://sqlfiddle.com/#!2/ae665/4

SELECt date_format(datefield,'%Y-%m-%d') AS DATE, IFNULL(counts, 0), item_id FROM     dates aLEFT JOIN     (SELECt COUNT(*) as counts, purchase_date,user_id,item_id      FROM items_purchased      WHERe item_id=1     GROUP BY date(purchase_date),item_id )r ON date(a.datefield) = date(r.purchase_date) ;

以上查询基于以下假设:

  1. 表格日期包含要列出的日期范围内的连续日期。
  2. 不太确定项目表的用途。第二个查询是按item_purchased表的purchase_date和item_id分组。
  3. 计数是对特定日期购买的特定商品进行计数(与user_id无关)。

@timpeterson(OP)进行的更新非常感谢@Sel。 这是sqlfiddles,展示了我感兴趣的两个查询:

  1. 单个用户拥有的所有商品(例如
    user_id=11
    )的每日购买量:http://sqlfiddle.com/#!2 / 76c00 / 3
  2. 每天
    item_id=1
    拥有的购买次数
    user_id=11
    :http: //sqlfiddle.com/#!2 / 76c00 / 1

这是第二个链接的SQL代码,以防链接以某种方式损坏:

SELECt date_format(datefield,'%Y-%m-%d') AS DATE, IFNULL(countItem, 0), item_idFROM dates aLEFT JOIN (SELECt countItem, purchase_date,i.user_id,p.item_id FROM (   SELECt count(*) as countItem, purchase_date,user_id,item_id    FROM items_purchased    GROUP BY date(purchase_date),item_id   ) p  inner join items i on i.item_id=p.item_id WHERe p.item_id='1' and i.user_id='11' //just get rid of "p.item_id='1'" to produce the 1st query result)r ON date(a.datefield) = date(r.purchase_date);


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/670466.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号