SQL 查询最流行的组合

2023-11-30

假设我有一个带有采购表的杂货店应用程序:

customerId int
itemId int

四位顾客走进店里:

Bob buys a banana, lemonade, and a cookie 
Kevin buys a banana, lemonade, and a donut
Sam buys a banana, orange juice, and a cupcake 
Susie buys a banana

我正在尝试编写一个查询,该查询将返回哪些项目组合最受欢迎。在这种情况下,该查询的结果应该是:

banana and lemonade-2

我已经编写了一个查询,它告诉我多件购买中的所有物品的列表(我们排除一件物品的销售 - 它不能形成“组合”)。它返回:

banana - 3
lemonade - 2
cookie - 1
donut - 1
cupcake - 1
orange juice - 1

这是查询:

SELECT itemId, count( * ) 
FROM grocery_store
INNER JOIN (
SELECT customerId
FROM grocery_store
GROUP BY customerId
HAVING count( itemId ) > 1
)subQuery ON subQuery.customerId = grocery_store.customerId
GROUP BY itemId;

我可以获得有关如何扩展现有查询以获得所需输出的指示吗?


select a.itemID, b.itemID, COUNT(*) countForCombination
from grocery_store a
inner join grocery_store b
on a.customer_id = b.customer_id
and a.itemID < b.itemID
group by a.itemID, b.itemID
order by countForCombination desc

Assumed:

杂货店= 销售记录
客户ID= 独特的销售

  • 此查询获取所有grocery_store记录,并且对于每笔销售交易,它以特定顺序(a.itemid)创建所有可能的组合(a.itemid,b.itemid)
  • 这种特定的顺序消除了重复项 (apple, Orange) 被保留,而 (orange, apple) 则不是必需的。
  • 从所有销售中生成所有组合后,使用简单的分组依据和按计数排序来在顶部显示最受欢迎的组合
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

SQL 查询最流行的组合 的相关文章

  • t-sql 中的行相乘

    我有下表 ID Number 1 41 5 2 42 5 3 43 5 2 44 5 2 45 5 1 46 5 1 47 5 我需要编写一个查询 该查询将返回不同的 ID 和相应的 Number 列值相乘 对于给定的表结果应该是这样的 I
  • 从视图中的动态表名称中选择

    我的客户每年都会创建一个新表 其名称中包含年份 我必须在 SQL Server 数据库的新视图中使用该表 我已经通过一个查询解决了这个问题 DECLARE SQLString nvarchar 500 SET SQLString SELEC
  • 该模型已具有同名的元素 - ASP.NET

    我正在使用 ASP Net Web 应用程序 每当我尝试添加FOREIGN KEY此错误出现在数据工具操作中 SQL71508 该模型已具有同名的元素 dbo FK Sellers Users SQL71508 该模型已经有一个元素 具有相
  • Postgres 创建一个带有外键数组的表

    我正在制作一个名为 routes 的表 我希望它能够包含航班列表 航班详情请参阅航班表 我希望 航班 是航班表中的外键 ID 数组 所以 我有这个代码 CREATE TABLE routes id SERIAL PRIMARY KEY fl
  • 如何在一个查询中最大(日期)并使用sql server中的in功能?

    我有一张这样的桌子 id color shade date 1 red dark 01 01 1990 2 red light 09 16 2013 3 green light 08 15 2010 4 green dark 09 18 2
  • MySQL - 基于日期加入

    是否可以根据同一日期连接两个表 而不考虑时间 就像是 从预约左侧加入销售 约会 日期 销售 日期 唯一的问题是它是一个日期时间字段 所以我想确保它只查看日期并忽略时间 你可以这样做 FROM appointments LEFT JOIN s
  • SQL Server 查询从字符串中删除最后一个单词

    SO 中已经有一个带有 MySQL 标签的问题的答案 因此 我决定让您的生活更轻松 并为 SQL Server 用户提供以下答案 总是很高兴看到不同的答案 也许会有更好的表现 快乐编码 SELECT SUBSTRING YourString
  • SQL SELECT 对值求和,不包括重复项

    我在 Oracle SQL 中遇到一个问题 我正在尝试解决这个问题 我将用一个例子来说明 我正在查询三个表 Employees EmployeeID Name 1 John Smith 2 Douglas Hoppalot 3 Harry
  • SQL链接服务器查询非常非常慢

    我正在通过链接服务器从视图中提取大量数据 我使用的是 SQL Server 2012 链接服务器是 SQL Server 2008 我的选择语句是 SELECT INTO MY LOCAL TABLE FROM SELECT FROM LI
  • 从 all_tab_columns 中选择,其中表有 > 0 行

    我需要在大型数据库中搜索与列名匹配的表 但该表必须有超过 0 行 顺便说一句 这是查询 SELECT FROM all tab columns WHERE column name LIKE ID SUPPORT 您可以使用单个查询来过滤名称
  • 数据库设计 - 何时拆分表?

    有时创建一个单独的表会产生更多工作 我是否应该将其拆分 例如 在我的项目中 我有一张客户表 每个客户对每种产品都有自己的特殊价格 只有5种产品 未来不会计划更多产品 每个客户也有一周中公司向他交付产品的独特日子 当日期和产品价格是客户表中的
  • 数组 (UUID[ ]) 会破坏 1NF 吗?

    我的问题是包含 UUID 数组的字段是否会破坏范式 http en wikipedia org wiki Database normalization 在包含数组之前位于 NF 中的表中 原表 CREATE TABLE Floor Floo
  • MySQL JOIN 的评估顺序是什么?

    我有以下查询 SELECT c FROM companies AS c JOIN users AS u USING companyid JOIN jobs AS j USING userid JOIN useraccounts AS us
  • 如何使用Hibernate从Mysql获取最后一条记录?

    List
  • 用数组“插入”

    我想知道是否有一种方法可以在值列表上使用 插入 我正在尝试这样做 insert into tblMyTable Col1 Col2 Col3 values value1 value2 value3 所以 我想说的是 value2 将是一个字
  • TSQL 帮助 - 一种获取行第 N 列中的值的方法?

    我希望找到一种方法来获取数据集第 N 列中的值 因此 对于 N 6 我想要 SELECT Column6Value from MyTable where MyTable RowID 14 有没有办法在 SQL Server 2005 中实现
  • Oracle SQL 触发器上的变异表

    我正在尝试执行触发器 但出现变异表错误 SQL 代码是这样的 CREATE OR REPLACE TRIGGER CHK Apartado D BEFORE INSERT OR UPDATE ON CONTRACTS FOR EACH RO
  • 错误:使用 UNION、INTERSECT 或 EXCEPT 运算符组合的所有查询在其目标列表中必须具有相同数量的表达式

    我正在尝试创建一个存储过程 该过程将通过电子邮件发送一个 HTML 表 该表使用包含 Unions 的查询 但我不断得到 使用 UNION INTERSECT 或 EXCEPT 运算符组合的所有查询在其目标列表中必须具有相同数量的表达式 我
  • 什么时候数据库被称为嵌入式数据库?

    术语 嵌入式数据库 与 数据库 具有不同的含义吗 我见过的嵌入式数据库有两种定义 嵌入式数据库就像专门为 嵌入式 空间 移动设备等 设计的数据库系统一样 这意味着它们在紧张的环境中 内存 CPU 方面 可以合理地执行 嵌入式数据库就像不需要
  • C# SMO 远程数据库备份到本地机器

    我有一个执行 SQL 数据库备份和恢复的应用程序 这在本地计算机上运行良好 但是如果我针对另一台计算机上托管的 SQL 服务器运行此应用程序 则会出现以下错误 Microsoft SqlServer Management Smo Faile

随机推荐

  • 文本识别无法识别货币符号

    我正在移动视觉中使用文本识别 API 并尝试处理货币金额 OCR 目前支持基于拉丁语的语言 如法语 德语等 因此我认为该国的货币 欧元 将是一个可识别的符号 但据我所知 事实并非如此 为了检测 我是否应该更改语言首选项 是否有人有在移动视觉
  • Access DB Query 将由“,”分隔的列拆分为多行

    我使用的是Access DB 表中数据如下 ID Number 1 12 34 45 55 67 66 5 7 2 45 55 67 89 777 3 23 45 67 88 777 8888 564 4 1 234 567 890 987
  • 和 之间有什么区别? (点)和 $(美元符号)?

    点和点有什么区别 和美元符号 据我了解 它们都是不需要使用括号的语法糖 The 运算符是为了避免括号 在它之后出现的任何内容都将优先于之前出现的任何内容 例如 假设您有一行内容如下 putStrLn show 1 1 如果你想去掉这些括号
  • 具有多个箱子和约束的无界背包

    我是 Python 编码新手 需要帮助解决具有多个垃圾箱 4 个垃圾箱 和约束的无界背包问题 这些箱子的重量限制分别为 10 5 10 5 7 和 7 每个箱子只能装满某些物品 例如 仓 0 只能填充项目 0 9 仓 1 只能填充项目 10
  • 从数组列表中删除元素的更有效方法

    我开发了一个像这样的数组列表 ArrayList
  • Run() 和 ShellExecute() 之间的区别

    我想通过 AutoIt 在 Windows 上的 shell 终端中执行某些操作 我知道有两种方法可以做到这一点 例如 Run ComSpec c myCommand SW HIDE and ShellExecute myCommand 我
  • Blob 存储中的空图像

    这就是我尝试将图像上传到 Azure blob 存储 然后上传位于此处的空文件的方法 我尝试在这里上传这张图片 CloudStorageAccount storageAccount new CloudStorageAccount new M
  • 绘制 2 度线性回归的困难

    我在用机器学习模型的 2 度曲线绘制 2d 线性回归时遇到了一些麻烦 这是我的代码 m 100 X 6 np random rand m 1 3 y 0 5 X 2 X 2 np random randn m 1 plt plot X y
  • Angular 2,同一页面上运行的两个应用程序之间的通信[重复]

    这个问题在这里已经有答案了 我正在寻找一种方法让两个 Angular 2 应用程序相互通信 我发现我应该提供共享服务 My main ts import bootstrap from angular platform browser dyn
  • Monodroid,Java 和 C# 之间的互操作

    我们在 Android 下有一个大型 Java 应用程序 大 只是意味着翻译该应用程序的工作量太大 我们必须访问一个用 Net编写的引擎 这个引擎也太 大 了 该引擎仅用于计算 因此我们寻求使用 monodroid 的解决方案 我们的主要问
  • iPhone Store Kit“无法连接到 iTunes Store”

    我正在努力将应用内购买添加到我的应用程序中 我能够收到productsRequest didReceiveResponse方法 并接收产品数组 当我添加一个时 我的问题出现了SK支付 to the SK支付队列 将产品添加到队列后 在pay
  • MySQL:如何复制行,但更改一些字段?

    我有大量想要复制的行 但我需要更改一个字段 我可以选择要复制的行 select from Table where Event ID 120 现在我想复制所有这些行并在设置时创建新行Event ID to 155 我怎样才能做到这一点 INS
  • 如何更改 Twitter Bootstrap 模式框的默认宽度?

    我尝试了以下方法 div class modal hide fade modal admin style display none div class modal header a class close a h3 h3 div div c
  • C# 整数数组的哈希码

    我有一个类 其内部只是一个整数数组 一旦构造完毕 数组就永远不会改变 我想预先计算一个好的哈希码 以便该类可以非常有效地用作字典中的键 数组的长度大约在30项以内 整数一般在 1000到1000之间 不是很聪明 但足以满足大多数实际目的 编
  • java 发送和接收二维数组

    我想通过问这个问题来实现的是学习如何发送和接收二维数组到另一台计算机 上下文是二维阵列是我的游戏的地图 当我开始游戏时 我想要一个选项是服务器还是客户端 如果是客户端 请指定服务器IP 然后服务器将发送客户端 其中一个将是另一个人 具有不同
  • 与 C# 的协方差

    我在 C 代码中遇到了一些有趣的协方差问题 我有一个通用的Matrix
  • 使用 JavaScript 的事件委托比 jQuery 的事件委托是否有性能优势?

    JavaScript parent addEventListener click function e if e target child code vs jQuery parent on click child function 边际 j
  • tomcat 7 基于表单的身份验证

    给定一个 Servlet HelloServlet WebServlet HelloServlet public class HelloServlet extends HttpServlet private static final lon
  • 输入类型“textVisiblePassword”与“text”:有什么区别?

    简短而甜蜜 我不知道有什么区别textVisiblePassword and text是 关于inputType在 EditText 上 根据文档 textVisiblePassword是 应该可见的密码文本 其中密码是无用的 密码文本 有
  • SQL 查询最流行的组合

    假设我有一个带有采购表的杂货店应用程序 customerId int itemId int 四位顾客走进店里 Bob buys a banana lemonade and a cookie Kevin buys a banana lemon