c# - 将一个表中的总计汇总到一个新表中

标签 c# mysql

我有一张 table ,里面有从我们的购物网站订购的商品。每行都有一个商品编号和相关的购物车编号。因此,每个购物车编号可以有一个或多个与其关联的商品编号。我们想要找出通常与给定商品一起订购的前 4-5 种商品。就像您在亚马逊等大型网站上看到的那样。我想知道是否可以运行一个查询来创建一个包含该数据的表。或者我必须进行编程(C# 等)。新表可能有 5 列。第一列是主要商品编号,然后是另外 4 列最常订购的商品编号。如果这甚至可能的话,我想这是一个复杂的查询,所以我没有任何内容可以粘贴到这里来显示我已经开始的内容。

这是包含相关数据的表格片段。还需要其他信息吗?

enter image description here

这是一个 SQL Fiddle:http://sqlfiddle.com/#!9/b88417/1

最佳答案

我认为这可能有用,如果你可以制作一个 sql fiddle,它可能会更容易测试:

SELECT s1.itemRef,
       s2.itemRef,
       COUNT(s2.itemRef) AS count_items
FROM    `cart_numbers` AS s1
JOIN    `cart_numbers` AS s2 ON s2.cartNumber = s1.cartNumber
WHERE s2.itemref != s1.itemref
AND s1.cartNumber = 129009
GROUP BY s2.itemRef
ORDER BY COUNT(s2.itemRef) DESC
LIMIT 5

更新了查询,这将检索最多 5 件经常与购物车中的产品一起购买的产品

关于c# - 将一个表中的总计汇总到一个新表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36359459/

相关文章:

c# - 从 C# .NET 调用使用 C 样式数组作为参数的 C 方法

c# - 使用 C# 将 UTF-8 转换为 ANSI

MYSQL:连接表中的所有值都相同

mysql - 连接和分组 SQL 结果

sql - Mysql - 计算有多少行有一定数量?

c# - 如何将图像转换为字节数组

c# - IDisposable:是否有必要在 finally {} 上检查 null?

c# - ASP.NET Core 2.0 认证中间件

php - Laravel 在模型保存时插入两次之间的差异

mysql - 为什么我应该为 MySQL 中的 varchar 选择 255 以外的任何长度?