0
蔣張關係與優化這個子查詢計數項目:的MySQL,優化子查詢
SELECT @crewid:=crewid AS `crewid`, COUNT(id) AS `number_documents`,
(SELECT COUNT(id) FROM tblScan WHERE classification IS NOT NULL AND crewId = @crewid) AS `classified`,
(SELECT COUNT(id) FROM tblScan WHERE classification IS NULL AND crewId = @crewid) AS `unclassified`,
(SELECT CONCAT(name, ' ', surname) FROM tblcrew WHERE crewId = @crewid) AS `crewname`,
(SELECT uploadeddate FROM tblScan WHERE crewid = @crewid ORDER BY uploadeddate DESC LIMIT 0,1) AS `uploadeddate`,
(SELECT uploadedby FROM tblScan WHERE crewid = @crewid ORDER BY uploadedby DESC LIMIT 0,1) AS `uploadedby`,
(SELECT updateddate FROM tblScan WHERE crewid = @crewid AND updateddate IS NOT NULL ORDER BY updateddate DESC LIMIT 0,1) AS `updateddate`,
(SELECT updatedby FROM tblScan WHERE crewid = @crewid AND updatedby IS NOT NULL ORDER BY updatedby DESC LIMIT 0,1) AS `updatedby`
FROM tblScan
希望有人能夠幫助
感謝,
德爾斯
__SUM(IF('tblScan'。 'classification' is NOT NULL,1,0))as'classified'__也可以寫成__count('tblScan'.'classification')__,因爲它只會返回非NULL值的計數。檢查[this](http://dev.mysql.com/doc/refman/5.0/en/problems-with-null.html) – 2012-02-23 11:20:37
@husbas是的,它可以。我的代碼本來是有教育意義的,並不富有成效 - 從OQ中我得到了印象,OP可以通過理解原理來優化他的許多疑問。 – 2012-02-23 11:24:56
非常感謝 – Dels 2012-02-27 08:17:11