$this->db->count_all_results('my_table', FALSE);
未使用“ SELECT”查询部分。我的CI版本是3.1.9(从2x升级)。
我的查询如下(由$ this-> db-> last_query()生产)
SELECT DISTINCT(mch_id), machineries.*
FROM `machineries`, `machinery_workcentres`
WHERE `mch_status` = '1'
AND (`mwc_fk_workcentres` = '1' OR `mwc_fk_workcentres` = '4')
AND `mwc_status` = '1'
AND `mwc_fk_machineries` = `mch_id`
ORDER BY `mch_name` ASC
此查询结果总计12行。 但是当我尝试计算与
相同的查询时$this->db->count_all_results('machineries, machinery_workcentres' , FALSE);
其结果是16并且是incurrect。这是因为查询省略了SELECT
部分DISTINCT(mch_id), machineries.*
,由$ this-> db-> last_query()返回的查询如下
SELECT COUNT(*) AS `numrows`
FROM `machineries`, `machinery_workcentres`
WHERE `mch_status` = '1'
AND (`mwc_fk_workcentres` = '1' OR `mwc_fk_workcentres` = '4')
AND `mwc_status` = '1'
AND `mwc_fk_machineries` = `mch_id`