重新排序类别-SQL案例

时间:2019-02-01 09:37:53

标签: sql pandas

我已经在SQL上运行以下查询以获得所需的输出(附加)。但是,类别不是按升序排列的。我想在大熊猫中作图,想知道在SQL或大熊猫中重新排序是否最好?在SQL中重新排序似乎很有意义,因为那时我可以使用以下方法在大熊猫中绘图。对于使用SQL还是比较陌生的,想知道是否有我在这里没有发现的东西。预先感谢!

df = pd.read_csv("output/loan-cat.csv")
df.plot(x=df.index, y=df.columns)
plt.ylabel('No of loans')
plt.xlabel('Loan amount')
plt.title('No of loans, by amount')

这是我的SQL代码:

SELECT
CASE WHEN l.loan_amnt < 5000 THEN
    '0 to 5000'
    WHEN l.loan_amnt BETWEEN 5000
    AND 15000 THEN
    '5000 to 15000'
    WHEN l.loan_amnt BETWEEN 15000
    AND 25000 THEN
    '15000 to 25000'
ELSE
    '25000 and above'
END AS " loan amount",
count(*) AS "total"
FROM
  loan AS l
GROUP BY
  1
ORDER BY 1 asc

enter image description here;

1 个答案:

答案 0 :(得分:0)

如果要按CASE的结果排序,我相信您需要使用不是字符串的简单别名

SELECT 
CASE WHEN l.loan_amnt < 5000 THEN '0 to 5000'
     WHEN l.loan_amnt BETWEEN 5000 AND 15000 THEN '5000 to 15000'
     WHEN l.loan_amnt BETWEEN 15000 AND 25000 THEN '15000 to 25000'
ELSE
    '25000 and above'
END AS loan_amount,
count(*) AS "total"
FROM loan AS l
GROUP BY loan_amount
ORDER BY loan_amount asc