我试图根据Postgres数组中项目的nubmer计数选择一行(在Postgres 9.4中表示为文本字段),并且能够在Rails 4.2中选择/分组
我有以下表格:
queryable_id | liked_count | users_who_like_ids
--------------+-------------+--------------------
2376 | 3 | {1,80,78,101, 188}
18771 | 1 | {78,101, 123,125}
1790 | 1 | {78}
2257 | 1 | {78}
例如,我想说用user_who_like_ids选择和订购
select * from items group by count(users_who_like_ids) where users_who_like_ids include (78,123,125)
我该如何进行此查询?在rails中是否支持这种类型的查询?
这是users_who_like_ids
users_who_like_ids | text[] | default '{}'::text[]
看起来这种方式有用:
select queryable_id, liked_count, users_who_like_ids from queryables where users_who_like_ids @> ARRAY['1','80'];
但这需要1和80
答案 0 :(得分:1)
我想,您正在寻找array_length()
select
*
from
items
where
users_who_like_ids @> ARRAY[78,123,125]
group by
array_length(users_who_like_ids)
请注意,where
子句始终属于group by
子句。