【问题标题】:How to COUNT MySQL results when I use “GROUP_CONCAT” and “HAVING” in the query?当我在查询中使用“GROUP_CONCAT”和“HAVING”时如何计算 MySQL 结果?
【发布时间】: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} 并且没有这些直括号我无法访问数据,例如前!!怎么办?

标签: mysql count group-concat having


【解决方案1】:

只需在 SELECT 查询之后直接检索 found_rows

select found_rows();

【讨论】:

  • 感谢您的帮助。抱歉,多年后我将其标记为正确。非常感谢您对我的问题的支持! : D
猜你喜欢
  • 2021-03-22
  • 1970-01-01
  • 1970-01-01
  • 2020-07-29
  • 2022-09-26
  • 2014-03-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多