当我在查询中使用“GROUP_CONCAT”和“HAVING”时,如何计算 MySQL 个结果?
How to COUNT MySQL results when I use “GROUP_CONCAT” and “HAVING” in the query?
所以我有一个 MySQL 查询要计算。最初我使用 wordpress' get_results("") 但我还需要在不同的查询中计算总数,因为在我原来的查询中我限制了创建页面的结果。
这是我最初的查询,有谁知道我怎么算这个?
SELECT wpp.ID, post_title, wp_terms.name AS category, wp_terms.slug AS slug, supplier_company,
GROUP_CONCAT(wp_terms.slug SEPARATOR ', ') AS allslug,
GROUP_CONCAT(wp_terms.name SEPARATOR ', ') AS allcatname
FROM wp_posts AS wpp
LEFT JOIN wp_term_relationships ON wpp.ID = object_id
LEFT JOIN wp_terms ON term_taxonomy_id = wp_terms.term_id
LEFT JOIN wp_teleapo_supplier AS s ON wpp.post_author = s.ID
/* BASIC SEARCH on normal fields */
WHERE post_type = 'post'
GROUP BY wpp.ID
/* SEARCH on CONCAT FIELDS*/
HAVING
(post_title LIKE '%%'
OR allcatname LIKE '%%'
OR allslug LIKE '%%'
OR supplier_company LIKE '%%')
AND (allslug LIKE '%health-and-beauty%'
) AND (allslug LIKE '%%'
) AND
/* ADD EXTRA SEARCH TAGS: */
/* Language tag */
allslug LIKE '%english%'
/* ..... tag */
/* AND allslug LIKE '%......... %' */
ORDER BY post_date DESC
只需在 SELECT 查询后直接检索 found_rows
。
select found_rows();
所以我有一个 MySQL 查询要计算。最初我使用 wordpress' get_results("") 但我还需要在不同的查询中计算总数,因为在我原来的查询中我限制了创建页面的结果。
这是我最初的查询,有谁知道我怎么算这个?
SELECT wpp.ID, post_title, wp_terms.name AS category, wp_terms.slug AS slug, supplier_company,
GROUP_CONCAT(wp_terms.slug SEPARATOR ', ') AS allslug,
GROUP_CONCAT(wp_terms.name SEPARATOR ', ') AS allcatname
FROM wp_posts AS wpp
LEFT JOIN wp_term_relationships ON wpp.ID = object_id
LEFT JOIN wp_terms ON term_taxonomy_id = wp_terms.term_id
LEFT JOIN wp_teleapo_supplier AS s ON wpp.post_author = s.ID
/* BASIC SEARCH on normal fields */
WHERE post_type = 'post'
GROUP BY wpp.ID
/* SEARCH on CONCAT FIELDS*/
HAVING
(post_title LIKE '%%'
OR allcatname LIKE '%%'
OR allslug LIKE '%%'
OR supplier_company LIKE '%%')
AND (allslug LIKE '%health-and-beauty%'
) AND (allslug LIKE '%%'
) AND
/* ADD EXTRA SEARCH TAGS: */
/* Language tag */
allslug LIKE '%english%'
/* ..... tag */
/* AND allslug LIKE '%......... %' */
ORDER BY post_date DESC
只需在 SELECT 查询后直接检索 found_rows
。
select found_rows();