多字段使用 ORDER BY 导致查询结果与期望不一致
在某个查询sql中,查询多字段使用了ORDER BY ,出现了小坑(查询结果与期待不一致),记录下。
根据发布时间及主键ID 倒序查询表中数据,ORDER BY TCNM.DT_PUBLISH_TIME , TCNM.S_ID DESC。
期待结果
实际结果为:
查阅相关文档发现,导致这种结果的原因是 ORDER BY 匹配多字段时,每个字段都要填写排序方式 ,不填写默认按正序ASC排列,如果想出现期待结果只需要将
ORDER BY TCNM.DT_PUBLISH_TIME , TCNM.S_ID DESC 改为
ORDER BY TCNM.DT_PUBLISH_TIME DESC, TCNM.S_ID DESC 即可。