我正在尝试按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
答案 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
如果我已正确理解您的要求。