什么是COUNTIF的SQL等价物?

时间:2016-06-22 23:27:37

标签: sql postgresql

我正在尝试计算特定过滤器的使用次数,给出其在URL参数中出现的次数。我将URL参数作为列。以下是一个示例行结果:

"lat"=>"28.5383355", "lng"=>"-81.37923649999999", "near"=>"Orlando, FL", "end_period"=>"05/08/2016", "place_input"=>"Orlando, Florida", "capacity_max"=>"100", "capacity_min"=>"7", "package_type"=>"bareboat", "start_period"=>"05/08/2016"

我如何计算例如"lat"的出现次数?我尝试使用通配符,但SQL返回以下错误消息:

operator does not exist: hstore ~~ unknown
  Hint: No operator matches the given name and argument type(s). You might need to add explicit type casts.
  Position: 50

希望有人能够帮助我。

2 个答案:

答案 0 :(得分:1)

使用运算符hstore ? text,这意味着 hstore包含密钥?

select count(*)
from a_table
where url ? 'lat';

答案 1 :(得分:1)

另一种方法是

select sum( integer(url ? 'lat') ) from a_table

如果您要计算多个统计信息,则此表单非常有用。