在Databricks中如何对PySpark查询结果按日期升/降序排序
正确的排序子句放置方法
你之前把DESC放在函数调用里是完全错误的,排序逻辑要通过**ORDER BY子句**实现,它必须放在WHERE条件之后、整个SQL语句的末尾。
你的初始查询是筛选出两个月前月末的所有数据,要对结果按日期(或其他字段)排序,只需要在查询末尾追加ORDER BY 目标字段名 ASC/DESC即可。
示例代码
按date字段升序排序(日期从小到大)
df = sql("""select * from myview where date = last_day(add_months(date_trunc("month", current_date()), -2)) order by date ASC""")
按date字段降序排序(日期从大到小)
df = sql("""select * from myview where date = last_day(add_months(date_trunc("month", current_date()), -2)) order by date DESC""")
如果需要按其他字段排序,直接把date替换为对应字段名即可。
内容的提问来源于stack exchange,提问作者Patterson
相关产品推荐
相关产品推荐

