狮身人面像按视频持续时间字段排序

时间:2016-03-13 08:42:04

标签: php sphinx

我正在尝试按15分钟+ 30分钟制作排序视频......

在我的数据库中我有字段“长度”,其中是秒的视频持续时间,我尝试这个sql命令但是显示我没有找到视频但是错误...

$sql = "SELECT * FROM table1 WHERE MATCH('@(title,description) funny') AND length>=300 ORDER BY " . $order . " LIMIT " . $limit_set . " OPTION max_matches=" . $limit_end . "";
$videos = $SphinxQL->create($conn)
                 ->query($sql)
                 ->enqueue($SphinxQL->create($conn)->query('SHOW META')) // this returns the object with SHOW META query
                 ->executeBatch();

html sql是:

SELECT * FROM table1 WHERE MATCH('@(title,description) funny') AND length>=300 ORDER BY WEIGHT() DESC LIMIT 0, 120 OPTION max_matches=120

sphinx配置上的长度字段设置为:

sql_field_string = length

1 个答案:

答案 0 :(得分:0)

您确实需要length属性为数字(例如sql_attr_uint),因此可以对其进行过滤.... length>=300

一旦有了,可以使用INTERVAL()函数进行排序。

http://sphinxsearch.com/docs/current.html#expr-func-interval

SELECT *,INTERVAL(length,15,30,45,60,..) AS i FROM table1 WHERE ... 
   ORDER BY i ASC, WEIGHT() DESC

如果我已正确理解您的要求。