当前位置: 首页 > news >正文

力扣1251年

 正确写法:

select p.product_id,
ifnull(round(sum(units*price)/sum(units),2),0) average_price
from  prices p 
left join unitssold u
on u.product_id=p.product_id
and u.purchase_date between start_date and end_date
group by p.product_id;

错误写法:

select u.product_id,
ifnull(round(sum(units*price)/sum(units),2),0) average_price
from unitssold u 
right join prices p 
on u.product_id=p.product_id
and u.purchase_date between start_date and end_date
group by u.product_id;

注意:

①ifnull的运用,保证没有数据时输出为0

②这里采用的是 unitssold 表(用 u 表示)右连接 prices 表(用 p 表示)。右连接会保证 prices 表中的所有记录都被包含在结果集中,即便 unitssold 表中没有与之匹配的记录。不过在这个场景下,我们关注的是每个产品是否有销售记录(即 unitssold 表中的记录),更合理的做法是让 prices 表作为主表去左连接 unitssold 表,这样能保证每个产品的价格信息都被考虑到,同时也能关联上销售记录。

相关文章:

  • SAIL-RK3576核心板应用方案——无人机视觉定位与地面无人设备通信控制方案
  • 密闭空间可燃气体监测终端:守护城市命脉,智驭燃气安全!
  • Agisoft Metashape 创建分块建模
  • Servlet知识点之Parameter和Attribute
  • 设计模式-观察者模式、状态模式
  • qt5中使用中文报错error: C2001: 常量中有换行符
  • 股票-K线
  • 安装oVirt环境
  • 测试之 Bug 篇
  • 【net1】tcp,route,iptables,macvlan
  • C语言每日一练——day_5
  • Windows中的用户变量和系统变量
  • 【写作模板】JosieBook的写作模板
  • 浏览器控制台的特殊执行方式,暂存变量的作用域 和 同步/异步行为解释
  • 数据结构——单链表list
  • 运算符在C和C++中的用法和区别(简洁易懂版)
  • 3806.小郑花式喝酒(java)
  • 环路广播风暴演示图
  • 写了一个二叉树构造函数和画图函数,方便debug
  • 【HTML】一、基础标签
  • 东莞网站设计建设公司/永久免费跨境浏览app
  • 网络编程就是做网站么/市场监督管理局是干什么的
  • 淘宝店铺如何推广/哈尔滨网站优化
  • 网站建设字体颜色代码/博客seo教程
  • 广州做包包的网站/关键词搜索引擎又称为
  • 广州旅游网站建设设计/网站上做推广