You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SQL Server作业求助:查询同价书籍代码对及价格并排序

嘿,我来帮你解决这个书籍配对的问题!要找出所有价格相同的书籍对,还要按第一个代码主排序、第二个代码次排序的要求展示,核心是先把相同价格的书籍归为一组,再生成不重复的配对,下面分两种常见场景给你具体实现方案:

SQL 解决方案(数据库场景)

假设你的书籍数据存在名为books的表中,包含book_code(书籍代码)和price(价格)两个字段,可以通过自连接实现需求:

SELECT 
    b1.book_code AS first_book_code,
    b2.book_code AS second_book_code,
    b1.price
FROM 
    books b1
JOIN 
    books b2 
    ON b1.price = b2.price 
    AND b1.book_code < b2.book_code  -- 避免重复配对,比如只保留0200&7559,不生成7559&0200
ORDER BY 
    b1.book_code ASC, 
    b2.book_code ASC;

逻辑说明:

  • 自连接同一张表,用price相等作为关联条件,确保只匹配价格相同的书籍
  • b1.book_code < b2.book_code的条件能避免生成重复的反向配对,保证每对只出现一次
  • ORDER BY直接指定主排序键为第一个书籍代码,次要排序键为第二个,完全符合要求
Python 解决方案(本地数据处理场景)

如果是用Python处理本地的书籍数据(比如列表、CSV导入的数据),可以通过分组+配对的方式实现:

# 示例书籍数据(可替换为你实际的数据源)
books = [
    {"book_code": "0200", "price": 8.00},
    {"book_code": "7559", "price": 8.00},
    {"book_code": "1234", "price": 10.99},
    {"book_code": "5678", "price": 10.99},
    {"book_code": "9012", "price": 8.00}
]

# 按价格分组,把相同价格的书籍代码归到同一组
from collections import defaultdict
price_groups = defaultdict(list)
for book in books:
    price_groups[book["price"]].append(book["book_code"])

# 生成符合要求的不重复配对
result = []
for price, codes in price_groups.items():
    # 先对当前价格组的书籍代码排序,保证后续配对有序
    sorted_codes = sorted(codes)
    # 生成i<j的配对,避免重复
    for i in range(len(sorted_codes)):
        for j in range(i + 1, len(sorted_codes)):
            result.append({
                "first_book_code": sorted_codes[i],
                "second_book_code": sorted_codes[j],
                "price": price
            })

# 最后按要求排序(生成时已保证有序,这里做双重保险)
result.sort(key=lambda x: (x["first_book_code"], x["second_book_code"]))

# 按示例格式输出结果
for pair in result:
    print(f"书籍{pair['first_book_code']}和{pair['second_book_code']}为一对,二者价格均为{pair['price']:.2f}美元")

逻辑说明:

  • 用defaultdict快速完成价格分组,把相同价格的书籍代码聚合到一起
  • 对每个价格组的代码先排序,再通过双重循环生成不重复的配对(i<j确保每对只出现一次)
  • 最终排序后输出的结果完全符合“第一个代码主排序、第二个代码次排序”的要求

内容的提问来源于stack exchange,提问作者ReadingIsHard

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 03:25:04