我试图根据数组列的长度过滤数据库以获得结果。具体来说,我需要得到长度为<;=给定值
例如:
| COLNAME |
+-------------+
| {1} |
| {3,20,3400} |
| {1,4,7} |
| {3,3279} |
| {1,4} |
| {3} |
| {1,4,54} |
| {3,44} |
| {} |
我需要得到长度<;=2预期结果将是:
| COLNAME |
+----------+
| {1} |
| {3,3279} |
| {1,4} |
| {3} |
| {3,44} |
| {} |
我是新手,所以我自己找不到array_agg
和array_length or cardinality (array_length gives null for empty array, I would prefer 0, which cardinality is giving)
函数可能会有帮助,我正在研究如何正确使用它,但如果有人知道这将是一个很大的帮助
我已经成功编写了原始sql查询,只需要一些转换为sqlalchemy的帮助:
SELECT *
FROM
(SELECT *, cardinality(COLNAME) AS X FROM tablename) as mod
WHERE X <= 2;
编辑:
我想问题主要是我不明白如何正确使用sqlalchemy,我现在只使用了db.engine.execute('SQL statements').fetchall()
,我会在足够好的时候发布答案
结果比我想象的要简单
相关问题 更多 >
编程相关推荐