如何基于reference列的相同值对balance列进行SQL排序?
按Reference分组排序Balance列的解决方法
需求:对给定数据按reference列的相同值分组,每组内的balance列按升序排序。
原始数据
reference | balance ---------------------- ADE | 100 ADE | 95 ADE | 90 AVR | 83 AQE | 95 AQE | 71
期望结果
reference | balance ---------------------- ADE | 90 ADE | 95 ADE | 100 AVR | 83 AQE | 71 AQE | 95
实现方法
1. SQL 方式
直接通过ORDER BY子句先按reference排序,再按balance升序排序,即可实现分组内排序:
SELECT reference, balance FROM your_table ORDER BY reference, balance ASC;
2. Python Pandas 方式
利用pandas的sort_values方法,指定排序的列和顺序:
import pandas as pd # 构造数据框 df = pd.DataFrame({ 'reference': ['ADE', 'ADE', 'ADE', 'AVR', 'AQE', 'AQE'], 'balance': [100, 95, 90, 83, 95, 71] }) # 按reference分组,组内balance升序排序 sorted_df = df.sort_values(by=['reference', 'balance'], ascending=[True, True]) # 打印结果(不显示索引) print(sorted_df.to_string(index=False))
内容的提问来源于stack exchange,提问作者unknown
相关产品推荐
相关产品推荐

