当我在查询中使用“GROUP_CONCAT”和“HAVING”时如何计算 MySQL 结果?
Posted
技术标签:
【中文标题】当我在查询中使用“GROUP_CONCAT”和“HAVING”时如何计算 MySQL 结果?【英文标题】:How to COUNT MySQL results when I use “GROUP_CONCAT” and “HAVING” in the query? 【发布时间】:2016-07-03 07:18:27 【问题描述】:所以我有一个我想要计算的 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
【问题讨论】:
你可能想看看here 您需要多少计数?输出行的总数还是每组的计数? 迪伦,我需要计算结果。谢谢约阿希姆。我去看看! Joachim,我能够获取该值并通过我的 AJAX 回调将其返回,但返回的字符串现在从["a":1,"b":2]
更改为 "0":a:1,b:2,"count":1
并且没有这些直括号我无法访问数据,例如前!!怎么办?
【参考方案1】:
只需在 SELECT 查询之后直接检索 found_rows
。
select found_rows();
【讨论】:
感谢您的帮助。抱歉,多年后我将其标记为正确。非常感谢您对我的问题的支持! : D以上是关于当我在查询中使用“GROUP_CONCAT”和“HAVING”时如何计算 MySQL 结果?的主要内容,如果未能解决你的问题,请参考以下文章
如何在sql server中使用group_concat进行查询[重复]
group_concat sqlite 和 order by