不是按天排序,而是按月排序。
我尝试过str_to_date
,但在spark sql中没有,并且尝试在date_format
中重复order by
,但没有成功
当您将日期格式化为字符串时,将按字符串顺序进行排序。一种解决方案是更改格式,以便首先出现年份,然后是月份,然后是日期。更好的方法是按“日期”列(ttr.created_at)而不是格式化的字符串排序。
,尝试以下代码
import org.apache.spark.sql.functions._
spark.sql("""
SELECT TO_DATE(CAST(UNIX_TIMESTAMP(ttr.created_at,'dd/MM/yyyy') AS TIMESTAMP)) AS data from dl_wallet.tb_transaction as ttr order by data desc """
).show()