首页 > 解决方案 > Mysqli 连接查询返回错误的 COUNT?

问题描述

我是 php 新手。我的联接查询有问题。我想从联接查询中计数以进行分页,但计数仅返回 1。我不知道如何解决此问题。任何人都可以帮助我了解如何在联接中正确计数询问。

我的加入查询如下:-

SELECT COUNT(l.id) as total
     , l.*
     , ls.lead_id
     , ls.lead_status
     , ls.date 
  from lead_status as ls 
  join leads as l 
    on l.id = ls.lead_id 
   and l.status = ls.lead_status 
WHERE is_deleted = 0 
   and ls.lead_status = 1 
   and l.status = 1 
 group 
    by id 
 order 
    by id 
 LIMIT 0, 20

如果我运行这个查询所以我返回这样的结果....

在此处输入图像描述

我在没有 GROUP by l.id 的情况下运行查询,所以我得到了完美的计数,但我从数据库中只得到了一条记录。

在此处输入图像描述

线索和lead_status之间的关系是......在线索表id和lead_status表lead_id中。我想计算线索表id。

我想要总记录和行数。分页计数和在我的视图页面上显示的记录。

我想加入查询结果,如下图所示,总行数并获取所有数据。

在此处输入图像描述

标签: phpmysqlmysqligroup-bycount

解决方案


如果您想要分页的潜在客户总数,请运行以下查询

SELECT l.*, ls.lead_id, ls.lead_status, ls.date 
FROM leads as l JOIN lead_status as ls ON l.id = ls.lead_id
WHERE l.is_deleted = 0
and l.status = 1
and ls.lead_status = 1

此查询返回表中的所有线索,现在使用 php 的 mysqli_num_rows() 或 sizeof() 函数计算记录数。


推荐阅读