我的表中有一个数组int []字段,只想获取那些int []字段大小> = 3和<= 5的字段。
我尝试过这样的事情:
SELECT cadinality(tt.numbers) >= 3, tt.customer_id
FROM table_table tt
LIMIT 50
但是此返回带有选中标记的怪异列,但它应该返回字段tt.numbers(仅大小=> 3和<= 5)。
答案 0 :(得分:1)
您的查询返回表中的所有行,但不是返回numbers
列,而是返回一个布尔表达式,该表达式显示numbers
列的基数是否大于2。
如果要限制行数,则需要一个WHERE子句:
SELECT tt.numbers, tt.customer_id
FROM table_table tt
WHERE cadinality(tt.numbers) between 3 and 5
LIMIT 50;
cadinality(tt.numbers) between 3 and 5
是
的简写cadinality(tt.numbers) >= 3 and cadinality(tt.numbers) <= 5