《Mysql應用sphinxql如何得到結果數(shù)及show meta的詳細說明》要點:
本文介紹了Mysql應用sphinxql如何得到結果數(shù)及show meta的詳細說明,希望對您有用。如果有疑問,可以聯(lián)系我們。
mysql:
select count(*) from main_index;MYSQL數(shù)據(jù)庫
但是這個在這里卻報語法錯誤.MYSQL數(shù)據(jù)庫
第一種辦法:
查文檔得:
Aggregate functions (AVG(), MIN(), MAX(), SUM()) in column list clause are supported. Arguments to aggregate functions can be either plain attributes or arbitrary expressions. COUNT(*) is implicitly supported as using GROUP BY will add @count column to result set. Explicit support might be added in the future. COUNT(DISTINCT attr) is supported. Currently there can be at most one COUNT(DISTINCT) per query and an argument needs to be an attribute. Both current restrictions on COUNT(DISTINCT) might be lifted in the future.MYSQL數(shù)據(jù)庫
也就是說只有在group by的時候才能用count(*),如:MYSQL數(shù)據(jù)庫
代碼如下:
select 1 as dummy,count(*) c from main_index group by dummy;
+------+--------+-------+--------+
| id | weight | dummy | @count |
+------+--------+-------+--------+
| 1001 | 1????? | 1 | 15659 |
+------+--------+-------+--------+
第二種辦法
代碼如下:
select * from main_index limit 0;
show meta;
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| total???????? |? 67 |
| total_found?? |? 67 |
| time | 0.001? |
| keyword[0]???? |? ha |
| docs[0] | 67? |
| hits[0] | 115 |
+---------------+-------+
也就是說用show meta來得到這個total_found,這個就是總記錄數(shù).
下面我們來說一下show meta:
SHOW META shows additional meta-information about the latest query such as query time and keyword statistics:MYSQL數(shù)據(jù)庫
也就是說它顯示的是最近一次查詢附加的一些信息,好比查詢時間、關鍵字統(tǒng)計、總記錄等.
MYSQL數(shù)據(jù)庫
代碼如下:
mysql> SELECT * FROM test1 WHERE MATCH('test|one|two');
+------+--------+----------+------------+
| id?? | weight | group_id | date_added |
+------+--------+----------+------------+
|??? 1 |?? 3563 |????? 456 | 1231721236 |
|??? 2 |?? 2563 |????? 123 | 1231721236 |
|??? 4 |?? 1480 |??????? 2 | 1231721236 |
+------+--------+----------+------------+
3 rows in set (0.01 sec)
mysql> SHOW META;
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| total???????? | 3???? |
| total_found?? | 3???? |
| time????????? | 0.005 |
| keyword[0]??? | test? |
| docs[0]?????? | 3???? |
| hits[0]?????? | 5???? |
| keyword[1]??? | one?? |
| docs[1]?????? | 1???? |
| hits[1]?????? | 2???? |
| keyword[2]??? | two?? |
| docs[2]?????? | 1???? |
| hits[2]?????? | 2???? |
+---------------+-------+
12 rows in set (0.00 sec)
在
PHP中如何調(diào)用?
代碼如下:
<?php
//獲取總記錄個數(shù)
private function getTotalFound($conn) {
??? $sql = "show meta";
??? $total_result = @mysql_query ( $sql,$conn );
??? $totals = array ();
??? while ( ($row = mysql_fetch_assoc ( $total_result )) !== false ) {
??????? $totals [$row ['Variable_name']] = $row ['Value'];
??? }
??? return $totals;
}
?>
注意:如果代碼中用了多個數(shù)據(jù)庫連接的話,這個相應的conn必需傳進來,否則是取不到結果的.
《Mysql應用sphinxql如何得到結果數(shù)及show meta的詳細說明》是否對您有啟發(fā),歡迎查看更多與《Mysql應用sphinxql如何得到結果數(shù)及show meta的詳細說明》相關教程,學精學透。維易PHP學院為您提供精彩教程。
轉(zhuǎn)載請注明本頁網(wǎng)址:
http://www.snjht.com/jiaocheng/9538.html