我有一個表,我需要從中獲取聯繫人。 因此,我使用一個複雜的查詢從我的「短信」表中檢索所有聯繫人。複雜SQL查詢JOIN和其中
但是,它應該只計算提供的「imei」字段的記錄,但我的查詢會一直返回特定聯繫人的所有計數。
下面是代碼是用的,有什麼建議嗎?
$sql = $this->db->query('
SELECT
t1.mnumber AS t1_number, t1.mcontent AS t1_content, t1.mcontact as t1_contact, SUM(t2.TOTAL) AS mTotal
FROM
sms t1
JOIN
(SELECT
mContent, mcontact, COUNT(mNumber) AS TOTAL, mnumber, MAX(mID) mID
FROM
sms
GROUP BY mContact) t2 ON t1.mcontact = t2.mcontact
AND t1.mid = t2.mid
WHERE t1.mIMEI = ' . (IMEI) . '
GROUP BY t1.mContact
ORDER BY t1.mid DESC');
return $sql->result();
謝謝你!!
當沒有指定組中的「SELECT」列表中的所有列時,請注意在MySQL中使用「GROUP BY」。你的結果可能是不確定的...... – 2013-05-09 15:24:41
你的'WHERE'子句在內部子查詢執行其計數之後被評估**。 – 2013-05-09 15:36:05