SphinxSearch:复杂的声明

时间:2014-11-23 17:08:38

标签: sphinx sphinxql

我的表person_content包含下一列:

  • person_id INT
  • content_id INT
  • is_star BOOL

我需要使用SphinxQL选择所有与N content_idsis_star标志相关的人。

我的问题的第一部分可以使用COUNTGROUP BYHAVING来解决:

SELECT person_id, COUNT(DISTINCT content_id) as t
FROM person_content
GROUP BY person_id HAVING t > N;

是否可以在请求中添加is_star条件?或者,例如,以某种方式将is_star * N添加到t

1 个答案:

答案 0 :(得分:0)

如果我理解正确,您需要t > Nis_star为真的那些。如果是这样,我认为这应该适合你:

SELECT person_id, COUNT(DISTINCT content_id) as t, is_star
FROM person_content
GROUP BY person_id HAVING t > N or is_star;

having子句必须中的任何内容都是select语句中的选定列。