购买“iPhone”的买家退货空空如也

2024-02-03

tables:

create table product (
product_id int,
product_name varchar(50),
unit_price int);

insert into product values
(1, "S8", 1000),
(2, "G4", 800),
(3, "iPhone", 1400);

create table sales (
seller_id int,
product_id int,
buyer_id int,
sale_date date,
quantity int,
price int);

insert into sales values
(1, 1, 1, "2019-01-21", 2, 2000),
(1, 2, 2, "2019-02-17", 1, 800),
(2, 1, 3, "2019-06-02", 1, 800),
(3, 3, 3, "2019-05-13", 2, 2800);

如果我想找到购买“iPhone”的买家,使用此查询时我会得到空:

select s.buyer_id, p.product_name from sales s join product p
on s.product_id = p.product_id
group by s.buyer_id
having p.product_name = "iPhone";

如果我想找到购买过“S8”等其他商品的买家,我绝对可以使用相同的查询来获取它:

select s.buyer_id, p.product_name from sales s join product p
on s.product_id = p.product_id
group by s.buyer_id
having p.product_name = "S8";

结果符合预期:

buyer_id  |  productname
1         |  S8
3         |  S8

iPhone 出了什么问题?我使用 MariaDB 10.3 谢谢


你需要过滤before聚合:

select s.buyer_id
from sales s join
     product p
     on s.product_id = p.product_id
where p.product_name = 'iPhone'
group by s.buyer_id;

或者使用聚合函数来计算匹配项:

having sum(p.product_name = 'iPhone') > 0
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

购买“iPhone”的买家退货空空如也 的相关文章

  • 根据日期顺序排名

    我的数据如下 Heading Date A 2009 02 01 B 2009 02 03 c 2009 02 05 d 2009 02 06 e 2009 02 08 我需要如下排名 Heading Date Rank A 2009 02
  • 使用Perl/DBI/MySQL/InnoDB查找外键信息

    我想以编程方式查找 MySQL 数据库中特定 InnoDB 表的外键 我正在使用 Perl 我偶然发现 dbh gt foreign key info 我刚刚尝试使用它 但似乎有点错误 它不会返回 ON DELETE 和 ON UPDATE
  • 如果 Row1 = 值 1,则更新其他行

    我有一个小的 php 脚本 用于访问 mySql 数据库 我想在数据库中插入新记录之前查看该数字 值 1 是否等于数据库中的记录 这也在第 1 行 所以我想 查看传入的电话号码是否等于数据库中的电话号码 如果是这样 则必须保持电话号码相同的
  • 无法在 Mac 上启动 MySQL

    使用 Brew 安装后 我无法运行 MySQL 我使用的是 OS X El Capitan 版本 10 11 3 和 MySQL Server 版本 5 7 11 当我启动服务器时 我收到 启动 MySQL 错误 服务器退出而不更新 PID
  • 慢速自动增量重置

    我有很多表 由于某些原因 我需要在应用程序启动时调整这些表的自动增量值 我尝试这样做 mysql gt select max id from item max id 97972232 1 row in set 0 05 sec mysql
  • 实现软删除的最佳方法是什么?

    目前在做一个项目 我们要对大部分用户 用户角色 实现软删除 我们决定添加一个is deleted 0 数据库中每个表的字段并将其设置为 1 如果特定用户角色点击特定记录上的删除按钮 现在为了将来的维护 每个SELECT查询需要确保它们不包含
  • 数据库字段中的逗号分隔值

    我有一个产品表 该表中的每一行对应一个产品 并由唯一的 ID 标识 现在 每个产品都可以有多个与该产品关联的 代码 例如 Id Code 0001 IN ON ME OH 0002 ON VI AC ZO 0003 QA PS OO ME
  • 如何在MYSQL中将整个字符串小写并保持第一个大写[重复]

    这个问题在这里已经有答案了 我的表栏目 我预期的输出会在列中发生变化 Smith Allen Doyle Dennis Baker Waker 这是我尝试过的 但不起作用 UPDATE TABLE employee SET last nam
  • 如何从 SQL Server 2008 查询结果中删除“NULL”

    我有一个包含 59 列和超过 17K 行的表 很多行都有NULL在某些列中 我想删除NULL以便查询返回空白 而不是NULL 我可以运行一些更新功能来替换所有NULL with 使用 SQL Server 2008R2 Management
  • MYSQL - 使用逗号分隔字符串作为变量输入的存储过程

    我希望有人能够提供帮助 我已经创建了我的第一个存储过程 没什么花哨的 但是我遇到了问题 我想给它一个字符串输入 例如 1 2 3 4 5 然后它执行一个简单的操作SELECT FROM TABLE WHERE EAN IN VAR 所以存储
  • 我不断收到错误“关系 [TABLE] 不存在”

    我一直在尝试查询数据库中的两个表 在服务器资源管理器中 我可以看到两个表 甚至可以看到其中的列 我们将它们称为 Schema table1 和 Schema table2 其中 Schema 的第一个字母大写 我尝试运行以下查询 selec
  • 如何使用 BigQuery 有效地选择另一个表中匹配子字符串的记录?

    我有一个包含数百万个字符串的表 我想将其与包含大约两万个字符串的表进行匹配 如下所示 standardSQL SELECT record FROM record JOIN fragment ON record name LIKE CONCA
  • Spark SQL 中的 SQL LIKE

    我正在尝试使用 LIKE 条件在 Spark SQL 中实现联接 我正在执行连接的行看起来像这样 称为 修订 Table A 8NXDPVAE Table B 4 8 NXD V 在 SQL Server 上执行联接 A revision
  • 快速将列的副本添加到 MySQL 表

    我需要一种快速的方法来复制表中的 DATETIME 列并为其指定一个新名称 我的表中有一个名为 myDate 的列 名为 myResults 我需要一个查询来在名为 newDate 的表中创建一个新列 该列的数据与 myDate 列完全相同
  • 如何在 SQL Server 中连接

    我的数据库没有特定的列 因此我通过开关在查询中创建了一个列 我需要的是将此列与数据库中的另一列连接起来 select certificateDuration DurationType case when certificateDuratio
  • MySQL 转储未知选项“-no-beep”

    在旧服务器上我使用了mysql转储命令来备份 MySQL 数据库 在新服务器上 MySQL 版本为 5 6 相同的命令给出了错误 unknown option no beep 无论它插入什么 我也在互联网上搜索过 但找不到任何帮助 在 my
  • 使用加权行概率从 PostgreSQL 表中选择随机行

    输入示例 SELECT FROM test id percent 1 50 2 35 3 15 3 rows 你会如何编写这样的查询 平均 50 的时间我可以获得 id 1 的行 35 的时间 id 2 的行 15 的时间 id 3 的行
  • 如何通过SQL查询检查是否有JSON函数?

    有SQL 2016 中的 JSON 函数 https learn microsoft com en us sql t sql functions json functions transact sql例如 JSON VALUE JSON Q
  • 如何获取自定义订单的结果? [关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 代替ASC or DESC 我希望我的查询结果采用特定的自定义顺序 例如 如果我想要的结果不是 A B C D 而是 P A L H 该怎么
  • 是否可以引用同一个表中的不同列?

    如果博客有一个 类别 表 如下所示 CREATE TABLE categories id INTEGER PRIMARY KEY AUTO INCREMENT parent id INTEGER NOT NULL name VARCHAR

随机推荐

  • 在 R 中使用 foreach 读取全局变量

    我正在尝试使用 RStudio 在具有 16 核 CPU 和 64 GB RAM 的 Windows 服务器上运行 foreach 循环 使用 doParallel 包 工作 进程从 for 循环外部复制所有变量 通过运行 foreach
  • 如何生成包含 JSON 结构的下载文件?

    我的控制器中有这个方法 public IActionResult Download return Json context Users 我注意到它生成了正确的 JSON 结构but它在浏览器中呈现为普通文本 我希望将其下载到客户的计算机上
  • 输出模板内的嵌套类

    我试图重载 ostream 运算符以允许输出模板内的嵌套类 但是 编译器无法将实际的函数调用绑定到我的重载 template
  • iOS:(Swift)如何显示距当前位置的距离并在注释副标题上存在注释

    我目前正在使用 Swift 语言开发基于 iOS 的地图应用程序 我想要一个建议 因为在我在地图视图上绘制所有引脚之后 我使用名为 Alamofire 的 JSON 框架从服务器接收数据 我希望地图上所有注释的副标题显示距用户当前位置的距离
  • Fabricjs,旋转对象后是否可以获得虚拟矩形的左、上、右位置

    旋转物体后是否可以获得虚拟矩形的左 上 右位置 您正在寻找的是边界矩形你的对象 获取边界矩形 忽略Vpt Object 返回对象边界矩形的坐标 左 上 宽 高 该框旨在与画布轴对齐 返回 具有 left top width height 属
  • 在源代码中保护密码?

    我的代码中有一个密码 需要连接到 sftp 服务器 混淆 或隐藏在代码中的最佳方法是什么 Thanks 不要将密码存储在源代码中 而是将其存储在 App Config 或 Web Config 内的受保护部分中 See 使用受保护的配置加密
  • C++ 在模板类中重载运算符<< [重复]

    这个问题在这里已经有答案了 可能的重复 为模板类重载友元运算符 https stackoverflow com questions 4660123 overloading friend operator for template class
  • 回历日期格式

    我有一些从网站下载的数据 其中一列包含回历日期 为了使该列成为正确的日期列 我应用了以下格式 但问题是 除非我输入单元格 通过双击或 F2 然后按 Enter 键 否则它不会被视为日期并向右对齐 因为行数很大 所以我使用的方法不实用 我尝试
  • php 中 HTTPRequest 的替代方案

    我在 php 脚本中使用 HttpRequest 类 但是当我将此脚本上传到托管提供商的服务器时 执行它时出现致命错误 致命错误 在第 87 行 中找不到类 HttpRequest 我相信原因是因为我的托管提供商的 php ini 配置不包
  • android模拟器的IP地址是多少,[重复]

    这个问题在这里已经有答案了 android模拟器的IP地址是多少 根据我在互联网上找到的几个信息 127 0 0 1 10 0 0 2或10 0 015从Web服务器 apache 调用模拟器 模拟器的端口是固定的吗 10 0 2 1 路由
  • 如何正确广播 NumPy 数组的数组索引

    简短的介绍 我有两个 numpy 数组 data data shape是一个包含 X 个条目的元组 indices indices shape是元组 X Y indices基本上是一个索引数组的列表 沿第二个维度的数组指定相应维度的索引列表
  • 在新 API 的两个单独文件中初始化 Firebase 引用

    我已升级到新的 API 但不知道如何在两个单独的文件中初始化 Firebase 引用 CASE 1 1st file var config firebase initializeApp config var rootRef firebase
  • ArrayList初始化相当于数组初始化[重复]

    这个问题在这里已经有答案了 我知道您可以在实例化期间初始化数组 如下所示 String names new String Ryan Julie Bob 有没有办法用 ArrayList 做同样的事情 或者我必须单独添加内容array add
  • 以编程方式运行 Ansible playbook?

    我有一个 python 应用程序 它调用下面的代码 并计划通过 Ansible API 以编程方式运行 Ansible playbook 而不是使用子进程之类的东西 下面的代码运行但实际上似乎没有执行任何内容 获取结果的输出只会给我一个看起
  • 如何在 bash 脚本中自动按 [ENTER] 继续

    我有一个 bash 脚本 可以帮助自动安装一些应用程序 One app requests that I press ENTER to continue or CTRL C to cancel How can I automate my sc
  • 风暴集群重复元组

    目前我正在开展一个项目 在该项目中我在四台 Unix 主机上设置了一个 Storm 集群 拓扑本身如下 JMS Spout 侦听 MQ 以获取新消息 JMS Spout 解析然后将结果发送到 Esper Bolt 然后 Esper Bolt
  • 引导程序中的字形不显示

    div class container fluid div class sidebar left div class well h5 Administration h5 ul class administration list li cla
  • 适用于 2 页的书签

    I m using a bookmarklet to inject javascript into a webpage I am trying to login into my gmail account that part works a
  • 当 akka actor 在测试线程之外抛出异常时,scalatest 失败

    我曾经遇到过这样的情况 在我测试一个 Actor 时 Actor 意外抛出异常 由于错误 但测试仍然通过 现在 大多数情况下 Actor 中的异常意味着无论测试正在验证什么 都不会正确显示 因此测试失败 但在极少数情况下 情况并非如此 异常
  • 购买“iPhone”的买家退货空空如也

    tables create table product product id int product name varchar 50 unit price int insert into product values 1 S8 1000 2