ShopALot|电子商务数据集|库存管理数据集
收藏ShopALot 数据集概述
数据集概述
ShopALot
是一个用于学习 AsterixDB 和 SQL++ 的电子商务数据集。该数据集包含多个数据集,用于存储用户、商店、产品、订单和库存信息。
数据集结构
数据集列表
-
Users
- 存储用户信息,包括用户ID、姓名、电子邮件和电话号码。
- 主键:
user_id
-
Stores
- 存储商店信息,包括地址、类别和地理位置数据。
- 主键:
store_id
-
Products
- 存储产品信息,包括类别、名称和描述。
- 主键:
product_id
-
Orders
- 存储订单信息,包括订单ID、用户ID、商店ID、总价和购买的商品。
- 主键:
order_id
-
StockedBy
- 跟踪每个商店的产品库存情况,包括可用数量。
- 主键:
(product_id, store_id)
数据加载
数据通过 JSON 文件加载到 AsterixDB 中。加载命令如下:
Mac/Linux 示例路径
sql LOAD DATASET ShopALot.Users USING localfs (("path"="localhost:///home/user/ShopALot/users.json"), ("format"="json")); LOAD DATASET ShopALot.Stores USING localfs (("path"="localhost:///home/user/ShopALot/stores.json"), ("format"="json")); LOAD DATASET ShopALot.Products USING localfs (("path"="localhost:///home/user/ShopALot/products.json"), ("format"="json")); LOAD DATASET ShopALot.Orders USING localfs (("path"="localhost:///home/user/ShopALot/orders.json"), ("format"="json")); LOAD DATASET ShopALot.StockedBy USING localfs (("path"="localhost:///home/user/ShopALot/stockedby.json"), ("format"="json"));
Windows 示例路径
sql LOAD DATASET ShopALot.Users USING localfs (("path"="localhost:///C:/Users/YourUsername/ShopALot/users.json"), ("format"="json")); LOAD DATASET ShopALot.Stores USING localfs (("path"="localhost:///C:/Users/YourUsername/ShopALot/stores.json"), ("format"="json")); LOAD DATASET ShopALot.Products USING localfs (("path"="localhost:///C:/Users/YourUsername/ShopALot/products.json"), ("format"="json")); LOAD DATASET ShopALot.Orders USING localfs (("path"="localhost:///C:/Users/YourUsername/ShopALot/orders.json"), ("format"="json")); LOAD DATASET ShopALot.StockedBy USING localfs (("path"="localhost:///C:/Users/YourUsername/ShopALot/stockedby.json"), ("format"="json"));
数据验证
加载数据后,可以使用以下查询验证每个数据集中的记录数量:
sql SELECT VALUE { "usersCount": (SELECT VALUE COUNT() FROM Users), "storesCount": (SELECT VALUE COUNT() FROM Stores), "productsCount": (SELECT VALUE COUNT() FROM Products), "ordersCount": (SELECT VALUE COUNT() FROM Orders), "stockedByCount": (SELECT VALUE COUNT(*) FROM StockedBy) };
数据查询示例
以下是一些用于查询 ShopALot
数据集的示例 SQL++ 查询:
查询示例
-
查询1 sql SELECT * FROM Products WHERE list_price > 10;
- 检索
list_price
大于 10 的所有产品。
- 检索
-
查询2 sql SELECT VALUE name FROM Products WHERE list_price > 10;
- 检索
list_price
大于 10 的产品名称。
- 检索
-
查询3 sql SELECT VALUE name FROM Products WHERE list_price > 10 LIMIT 10;
- 检索
list_price
大于 10 的前 10 个产品名称。
- 检索
-
查询4 sql SELECT VALUE name FROM Products WHERE list_price > 10 LIMIT 10 OFFSET 5;
- 检索
list_price
大于 10 的第 6 到第 15 个产品名称。
- 检索
-
查询5 sql SELECT user_id, email FROM Users WHERE email LIKE "%gmail.com" LIMIT 3;
- 检索电子邮件包含 "gmail.com" 的前 3 个用户的
user_id
和email
。
- 检索电子邮件包含 "gmail.com" 的前 3 个用户的
-
查询6 sql SELECT VALUE product_id FROM StockedBy WHERE store_id = "C4N2L";
- 检索商店 ID 为 "C4N2L" 的所有产品的
product_id
。
- 检索商店 ID 为 "C4N2L" 的所有产品的
-
查询7 sql SELECT VALUE { "StoreName": s.name, "Quantity": sb.qty } FROM StockedBy sb, Stores s WHERE sb.store_id = s.store_id AND sb.store_id = "C4N2L";
- 检索商店 ID 为 "C4N2L" 的所有产品的商店名称和库存数量。
-
查询8 sql SELECT s.name AS StoreName, sb.qty AS Quantity FROM StockedBy sb, Stores s WHERE sb.store_id = s.store_id AND sb.store_id = "C4N2L";
- 检索商店 ID 为 "C4N2L" 的所有产品的商店名称和库存数量。
-
查询9 sql SELECT VALUE { "StoreName": s.name, "Stocks": (SELECT VALUE sb.product_id FROM StockedBy sb WHERE sb.store_id = s.store_id) } FROM Stores s WHERE s.store_id = "C4N2L";
- 检索商店 ID 为 "C4N2L" 的所有产品的商店名称和产品 ID 列表。
-
查询10 sql SELECT o.order_id, o.user_id, i.product_id AS product, i.qty AS quantity FROM Orders o UNNEST o.items i WHERE i.qty > 30;
- 检索订单中商品数量大于 30 的订单 ID、用户 ID、产品 ID 和商品数量。
-
查询11 sql SELECT DISTINCT VALUE o.user_id FROM Orders o WHERE SOME i IN o.items SATISFIES i.selling_price >= 80.00;
- 检索至少有一个商品售价大于等于 80.00 的用户的唯一用户 ID。
-
查询12 sql SELECT DISTINCT VALUE o.user_id FROM Orders o WHERE EVERY i IN o.items SATISFIES i.selling_price >= 70.00;
- 检索所有商品售价都大于等于 70.00 的用户的唯一用户 ID。
-
查询13 sql SELECT DISTINCT VALUE o.user_id FROM Orders o WHERE array_count(o.items) > 0 AND (EVERY i IN o.items SATISFIES i.selling_price >= 70.00);
- 检索订单中所有商品售价都大于等于 70.00 的用户的唯一用户 ID。
-
查询14 sql SELECT u.name FROM Users u WHERE u.user_id IN ( SELECT DISTINCT VALUE o.user_id FROM Orders o WHERE EVERY i IN o.items SATISFIES i.selling_price >= 70.00 AND ARRAY_COUNT(o.items) > 0 );
- 检索订单中所有商品售价都大于等于 70.00 的用户的姓名。
-
查询15 sql SELECT o.order_id, o.time_placed, o.time_fulfilled, o.total_price, o.user_id FROM Orders o WHERE total_price > 150.00 AND o.time_fulfilled IS MISSING;
- 检索总价大于 150.00 且
time_fulfilled
为空的订单的订单 ID、下单时间、完成时间、总价和用户 ID。
- 检索总价大于 150.00 且
-
查询16 sql SELECT VALUE { "order_id": o.order_id, "time_placed": o.time_placed, "time_fulfilled": CASE WHEN o.time_fulfilled IS MISSING THEN "TBD" ELSE o.time_fulfilled END, "total_price": o.total_price, "user_id": o.user_id } FROM Orders o WHERE user_id = "QREX9" LIMIT 3;
- 检索用户 ID 为 "QREX9" 的前 3 个订单的订单 ID、下单时间、完成时间、总价和用户 ID。如果
time_fulfilled
为空,则显示 "TBD"。
- 检索用户 ID 为 "QREX9" 的前 3 个订单的订单 ID、下单时间、完成时间、总价和用户 ID。如果
-
查询17 sql SELECT name, total_price FROM Orders ORDER BY total_price DESC;
- 按总价降序排列,检索订单的名称和总价。
-
查询18 sql SELECT u.name, o.order_id FROM Users AS u, Orders AS o WHERE u.user_id = o.user_id;
- 检索用户名称和订单 ID,条件是用户 ID 匹配。
-
查询19 sql SELECT u.email, o.time_placed FROM Users u JOIN Orders o ON u.user_id = o.user_id WHERE o.total_price > 200 ORDER BY o.total_price DESC LIMIT 3;
- 检索总价大于 200 的前 3 个订单的用户电子邮件和下单时间,按总价降序排列。
-
查询20 sql SELECT * FROM Stores s GROUP BY s.address.city;
- 按城市分组,检索商店信息。
-
查询21 sql SELECT category, COUNT(*) AS total_products FROM Products GROUP BY category;
- 按类别分组,检索每个类别的产品总数。
-
查询22 sql SELECT u.email, ARRAY_COUNT(o.items) AS order_size FROM Users AS u, Orders AS o WHERE u.user_id = o.user_id ORDER BY order_size DESC LIMIT 3;
- 检索订单中商品数量最多的前 3 个用户的电子邮件和订单大小,按订单大小降序排列。
-
查询23 sql ARRAY_MAX( (SELECT VALUE list_price FROM Products WHERE is_number(list_price)) );
- 检索产品中
list_price
的最大值。
- 检索产品中
-
查询24 sql SELECT s.address.state, COUNT(*) AS cnt FROM Stores AS s, Orders AS o WHERE s.store_id = o.store_id GROUP BY s.address.state;
- 按州分组,检索每个州的订单总数。
-
查询25 sql SELECT s.address.state, g FROM Stores AS s, Orders AS o WHERE s.store_id = o.store_id GROUP BY s.address.state GROUP AS g;
- 按州分组,检索每个州的商店和订单信息。
-
查询26 sql FROM Stores AS s, Orders AS o WHERE s.store_id = o.store_id GROUP BY s.address.state GROUP AS g SELECT s.address.state, (SELECT g.s.store_id, g.s.name, g.o.order_id FROM g) AS so_pairs;
- 按州分组,检索每个州的商店 ID、商店名称和订单 ID 列表。

Breast Ultrasound Images (BUSI)
小型(约500×500像素)超声图像,适用于良性和恶性病变的分类和分割任务。
github 收录
Google Scholar
Google Scholar是一个学术搜索引擎,旨在检索学术文献、论文、书籍、摘要和文章等。它涵盖了广泛的学科领域,包括自然科学、社会科学、艺术和人文学科。用户可以通过关键词搜索、作者姓名、出版物名称等方式查找相关学术资源。
scholar.google.com 收录
jpft/danbooru2023
Danbooru2023是一个大规模的动漫图像数据集,包含超过500万张由爱好者社区贡献并详细标注的图像。图像标签涵盖角色、场景、版权、艺术家等方面,平均每张图像有30个标签。该数据集可用于训练图像分类、多标签标注、角色检测、生成模型等多种计算机视觉任务。数据集基于danbooru2021构建,扩展至包含ID #6,857,737的图像,增加了超过180万张新图像,总大小约为8TB。图像以原始格式提供,分为1000个子目录,使用图像ID的模1000进行分桶,以避免文件系统性能问题。
hugging_face 收录
中国农村金融统计数据
该数据集包含了中国农村金融的统计信息,涵盖了农村金融机构的数量、贷款余额、存款余额、金融服务覆盖率等关键指标。数据按年度和地区分类,提供了详细的农村金融发展状况。
www.pbc.gov.cn 收录
LinkedIn Salary Insights Dataset
LinkedIn Salary Insights Dataset 提供了全球范围内的薪资数据,包括不同职位、行业、地理位置和经验水平的薪资信息。该数据集旨在帮助用户了解薪资趋势和市场行情,支持职业规划和薪资谈判。
www.linkedin.com 收录