Как подсчитать результаты MySQL, когда я использую «GROUP_CONCAT» и «HAVING» в запросе?

Итак, у меня есть запрос MySQL, который я хочу подсчитать. Первоначально я использую get_results ("") wordpress, но мне также нужно подсчитать общее количество в другом запросе, потому что в моем исходном запросе я ОГРАНИЧИВАЮ результаты для создания страниц.

Итак, это мой первоначальный запрос, кто-нибудь знает, как я могу это посчитать?

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 

person mesqueeb    schedule 17.03.2016    source источник
comment
Вы можете посмотреть здесь   -  person Joachim Isaksson    schedule 17.03.2016
comment
какой счет вам нужен? общее количество выходных строк или количество в каждой группе?   -  person Dylan Su    schedule 17.03.2016
comment
Дилан, мне нужен подсчет результатов. Спасибо Иоахим. Я посмотрю!   -  person mesqueeb    schedule 17.03.2016
comment
Йоахим, я смог получить значение и вернуть его с помощью обратного вызова AJAX, но возвращаемая строка теперь изменилась с [{"a":1},{"b":2}] на {"0":{a:1},{b:2}},"count":1}, и без этих прямых скобок я не могу получить доступ к данным, как раньше!! Что делать?   -  person mesqueeb    schedule 17.03.2016


Ответы (1)


Просто извлеките found_rows сразу после запроса SELECT.

select found_rows();
person Dylan Su    schedule 17.03.2016
comment
Спасибо за вашу помощь. Извините, что я отметил это правильно много лет спустя. Ваше мнение по моему вопросу очень ценно!! : Д - person mesqueeb; 13.04.2019