统计给定全文查询结果的SELECT COUNT()正确语法是什么?
针对该全文检索查询的正确COUNT()统计语法
要统计原查询中符合条件的记录总数,有两种常用且高效的写法:
1. 直接统计(推荐,性能最优)
直接基于原查询的WHERE条件进行计数,无需计算相关性字段,避免不必要的性能开销:
SELECT COUNT(*) AS total_count FROM video WHERE MATCH(keyword) AGAINST ('keyword' IN BOOLEAN MODE) AND active = "1"
2. 基于原查询结果统计(适合需复用原查询逻辑的场景)
如果需要先确认原查询的结果集再统计,可以将原查询作为子查询:
SELECT COUNT(*) AS total_count FROM ( SELECT title, keyword, MATCH(title) AGAINST ('keyword' IN BOOLEAN MODE) AS relevance FROM video WHERE MATCH(keyword) AGAINST ('keyword' IN BOOLEAN MODE) AND active = "1" ) AS subquery
注意事项
- 使用
COUNT(*)统计所有符合条件的行,比COUNT(column_name)更可靠,因为它不受字段NULL值的影响。 - 确保全文检索的
MATCH条件与原查询完全一致,保证统计的是同一批符合要求的数据。
内容的提问来源于stack exchange,提问作者master00
相关产品推荐
相关产品推荐

