私信  •  关注

Meysam Asadi

Meysam Asadi 最近创建的主题
Meysam Asadi 最近回复了
4 年前
回复了 Meysam Asadi 创建的主题 » MySQL COUNT()不返回总数,而是分别计算每行的数量

首先获取唯一的ID数,然后返回ID总数。

SELECT count(*) AS Total
FROM 
( 
    SELECT DISTINCT t.id
    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
) resultTable