0

我正在尝试使用 HAVING 过滤查询,但我得到了这个错误:

mysql> SELECT id FROM related_tags GROUP BY application_id HAVING COUNT(*)=10;
ERROR 1064 (42000): sphinxql: syntax error, unexpected IDENT, expecting $end near 'HAVING COUNT(*)=10'

我正在使用 Sphinx 2.2.6-id64-release,它支持 HAVING

这是我的索引,如果它确实重要(application_id 属性用于按 id 分组)。

sql_query   = \
        SELECT `id`, `id` as `application_id`, `clear_title`\
        FROM `applications`\
        WHERE `id`>=$start AND `id`<=$end

sql_query_range = SELECT MIN(id),MAX(id) FROM applications

sql_attr_uint = application_id
sql_attr_multi = uint tag_id from query; \
    select application_id, tag_id \
    from application_tag_stemmed2;
4

1 回答 1

0

我认为您必须将其设为虚拟属性,HAVING 子句本身不允许使用任意表达式。

SELECT id,COUNT(*) AS cnt FROM related_tags GROUP BY application_id HAVING cnt=10;
于 2015-01-19T10:28:00.623 回答