我有这个mysql表:
CREATE TABLE person (id INT(6) AUTO_INCREMENT PRIMARY KEY,name VARCHAR(30) NOT NULL,age int(4) NOT NULL);
我运行这些插入: INSERT INTO VALUES(null,' one',42); INSERT INTO VALUES(null,' two',49); INSERT INTO VALUES(null,' three',16);
运行:
select avg(age) from person;
给了我" 35.6"
然后我在Sphinx中索引这些表。现在我想在Sphinx中运行或多或少与我在MySQL中运行的查询相同的查询。 从命令行发出此命令:
select avg(age) from person_idx;
精细。即使在这里,我也会得到" 35.6"。
现在问题。我需要从PHP运行此查询。我正在使用Sphinx-release附带的sphinxapi.php脚本。 我查看了文档并搜索了很多内容。但我找不到从PHP运行这些函数(avg,sum等)的方法。 有没有办法做到这一点?
在PHP中我有这段代码:
require('sphinxapi.php');
$client = new SphinxClient();
$res = $client->Query('', 'person_idx');
我在哪里放"选择AVG(年龄)"部分sql查询? sphinxapi.php有一个你可以调用的方法。但我看不出决定选择什么的方法。
答案 0 :(得分:1)
在Query()调用之前添加
$client->setSelect("AVG(age) AS avg_age");
setSelect大致相当于sphinxQL的'SELECT ...'部分。但一般来说,您需要使用AS
来使用所有功能。