postgresql Sequelize:按JSONB对象中字段的顺序进行查询,如number

iyfjxgzm  于 2023-02-08  发布在  PostgreSQL
关注(0)|答案(1)|浏览(144)

我已经研究了Sequelize: Query with order by a field in JSONB object,但仍然有一些错误。
当我排序查询的json字段有数字在它,它将排序为字符串,结果将是

1
11
111
2
22
222
3
33
333

有没有什么方法可以像下面这样按json字段对查询进行排序?

1
2
3
11
22
33
111
222
333

我使用的代码是这样的:

models.findAll({
    order:[
        ['json.a','DESC']
    ]
});

谢谢,抱歉我的英语不好。

c9x0cxw0

c9x0cxw01#

只需使用CAST转换提取的数据

select json_id
from mytable
order by CAST ( json_id AS integer )

Demo here

相关问题