$company_info = $model->where($this->where)->order('MAX(refreshtime)DESC, MAX(id) DESC')->limit(0,39)->group('uid')->getfield('distinct uid,count(id) as jobs_num');
echo(count($company_info));$this->where  的代码是   
Array ( [key] => Array ( [0] => match_mode [1] => Array ( [0] => +(city11_127_1304_0_0_0 city11_127_1304_0_0 city11_127_1304_0 city11_127_1304 city11_127 city11) ) ) )
没有  $this->where   的时候     数量是  39个   或者 其他50   可以自由控制 可是加了这个 $this->where   后   数量  死活只显示   30个   这个是什么原因数据肯定不止这些的这里涉及到  mysql  match array   的问题     有数量限制吗   真是搞不懂

解决方案 »

  1.   

    看一下实际执行的 SQL 指令,再做分析
      

  2.   

    如何查看 打印  执行的 sql 呢echo $company_info->getLastSql();  
    echo $company_info->_sql();  都不行呢
      

  3.   

    你用的什么框架,怎么获取上次执行的SQL语句,框架的文档里有说明的
      

  4.   

    thinkphp 3.23
      

  5.   

    buildSql打印语句看一下
      

  6.   

    SELECT distinct uid,count(id) as jobs_num FROM `rcyw_jobs_search` WHERE MATCH (`key`) AGAINST ("+(city11_127_1304_0_0_0 city11_127_1304_0_0 city11_127_1304_0 city11_127_1304 city11_127 city11)" IN BOOLEAN MODE) GROUP BY uid   ORDER BY MAX(refreshtime)DESC, MAX(id) DESC  LIMIT 0,39  [ RunTime:0.0012s ]
      

  7.   

    这个sql 语句  为什么 只显示    30  个
      

  8.   

    MATCH (`key`) AGAINST ("+(city11_127_1304_0_0_0 city11_127_1304_0_0 city11_127_1304_0 city11_127_1304 city11_127 city11)" IN BOOLEAN MODE)    导致  只显示  30个
      

  9.   

    MATCH (`key`) AGAINST ("+(city11_127_1304_0_0_0 city11_127_1304_0_0 city11_127_1304_0 city11_127_1304 city11_127 city11)" IN BOOLEAN MODE) 只保留这一个条件,其他的order,limit等全部去掉,查询一次,如果还是30个,我觉得可以比对一下数据库了
      

  10.   

    SELECT distinct uid,count(id) as jobs_num FROM `rcyw_jobs_search` WHERE 1 GROUP BY uid ORDER BY MAX(refreshtime)DESC, MAX(id) DESC LIMIT 0,39
    显示39个SELECT distinct uid,count(id) as jobs_num FROM `rcyw_jobs_search` WHERE MATCH (`key`) AGAINST ("+(city11_127_1304_0_0_0 city11_127_1304_0_0 city11_127_1304_0 city11_127_1304 city11_127 city11)" IN BOOLEAN MODE) GROUP BY uid  LIMIT 0,39 
    显示30个SELECT * FROM `rcyw_jobs_search` WHERE MATCH (`key`) AGAINST ("+(city11_127_1304_0_0_0 city11_127_1304_0_0 city11_127_1304_0 city11_127_1304 city11_127 city11)" IN BOOLEAN MODE) GROUP BY uid  LIMIT 0,39 
    显示30个SELECT * FROM `rcyw_jobs_search` WHERE MATCH (`key`) AGAINST ("+(city11_127_1304_0_0_0 city11_127_1304_0_0 city11_127_1304_0 city11_127_1304 city11_127 city11)" IN BOOLEAN MODE)  LIMIT 0,39 
    显示 39 个
      

  11.   

    SELECT distinct uid,count(id) as jobs_num FROM `rcyw_jobs_search` WHERE MATCH (`key`) AGAINST ("+(city11_127_1304_0_0_0 city11_127_1304_0_0 city11_127_1304_0 city11_127_1304 city11_127 city11)" IN BOOLEAN MODE) GROUP BY uid
    只显示  30 个
      

  12.   

    SELECT distinct uid FROM `rcyw_jobs_search` WHERE MATCH (`key`) AGAINST ("+(city11_127_1304_0_0_0 city11_127_1304_0_0 city11_127_1304_0 city11_127_1304 city11_127 city11)" IN BOOLEAN MODE) LIMIT 0,39 
    还是显示 30个