Py学习  »  DATABASE

MySQL COUNT()不返回总数,而是分别计算每行的数量

Bearded • 3 年前 • 1428 次点击  

我的MySQL查询有一些问题,我需要一些指导。我正在创建搜索,我想知道在我的查询搜索中找到了多少项。但问题是,我的查询分别返回每行的计数,而不是返回总计数。这就是我现在所拥有的。

我的问题

SELECT
    COUNT(t.id) AS total
FROM
    trouble t
LEFT JOIN district d ON d.id = t.district
LEFT JOIN country c ON c.id = t.country
LEFT JOIN multi_category mc ON mc.t_id = t.id
LEFT JOIN category ct ON ct.id = mc.ct_id
LEFT JOIN state s ON s.id = t.state
WHERE
    t.name      LIKE '%keyword%' OR
    t.title     LIKE '%keyword%' OR
    t.tags      LIKE '%keyword%' OR
    ct.category LIKE '%keyword%' OR
    c.country   LIKE '%keyword%' OR
    s.state     LIKE '%keyword%' OR
    d.district  LIKE '%keyword%'
GROUP BY
    t.id

我的数据库中有14行包含我正在搜索的关键字,这个查询返回14行,这里是一个快照。

mysql data set

但它是逐个计算每一行的id。我不想那样。我想要的是,我想要的总行数是14,我想要它在一行中。你能帮我做到这一点吗?

提前谢谢。

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/129230
 
1428 次点击  
文章 [ 2 ]  |  最新文章 3 年前