在Wordpress中是否可以忽略限制而从$ wpdb-> get_results返回结果总数?
示例:
$datas = $wpdb->get_results("
SELECT DISTINCT wp_posts.ID, wp_posts.post_title, wp_posts.post_excerpt FROM wp_posts
INNER JOIN wp_postmeta ON
wp_posts.ID = wp_postmeta.post_id
WHERE (
wp_posts.post_title LIKE '%hello%' OR
wp_postmeta.meta_value LIKE '%hello%'
)
AND wp_posts.post_status = 'publish'
AND wp_posts.post_type IN ('post', 'page')
ORDER BY wp_posts.post_date DESC
LIMIT 0, 24
", ARRAY_A);
还是我需要运行两个查询,一个查询的总数为count(*),然后另一个查询为上述查询,以获取实际的帖子内容?
答案 0 :(得分:2)
您可以在选择查询中包括SQL_CALC_FOUND_ROWS
选项:
SELECT SQL_CALC_FOUND_ROWS ...
然后立即调用FOUND_ROWS()
:
SELECT FOUND_ROWS();
但是,由您自己来比较使用SQL_CALC_FOUND_ROWS
选项运行单独查询的执行时间。有时前者要胜过后者。