0
這一直困擾着我整天:在同一查詢中有2個計數但條件不同
我想在1個表中做2個計數。第一個計數如何總共許多商店,這裏的價格比tsuppliers.lowestprice低的第二應該算在總的商店
所以基本上我想第二個查詢合併成第一:
SELECT tshops.shopID, tshops.OfficialName, tsuppliershopinfo.ContactName, tsuppliershopinfo.ContactMail, Count(distinct tresults.pID) AS AantalVanpID
FROM (tsupplierproducts
INNER JOIN tresults ON tsupplierproducts.pID = tresults.pID)
INNER JOIN (tsuppliershopinfo INNER JOIN tshops ON tsuppliershopinfo.shopID = tshops.shopID) ON tresults.shopID = tsuppliershopinfo.shopID
WHERE (((tsupplierproducts.supplierID)=2)) AND tresults.starttime BETWEEN DATE_SUB(CURDATE(), INTERVAL 14 DAY) AND DATE_ADD(CURDATE(),INTERVAL 1 DAY)
GROUP BY tshops.shopID, tshops.OfficialName, tsuppliershopinfo.ContactName, tsuppliershopinfo.ContactMail;
第二個(請注意where子句中只有一個額外條件):
SELECT tresults.shopID, Count(distinct tresults.pID) AS AantalVanpID
FROM tsupplierproducts INNER JOIN tresults ON tsupplierproducts.pID = tresults.pID
WHERE (((tsupplierproducts.supplierID)=2) AND ((tresults.Price)<tsupplierproducts.LowestPrice)) AND tresults.starttime BETWEEN DATE_SUB(CURDATE(), INTERVAL 14 DAY) AND DATE_ADD(CURDATE(),INTERVAL 1 DAY)
GROUP BY tresults.shopID;
如何將第二個查詢合併到第一個查詢中?
謝謝!
1個詞語:awesome。謝謝!查詢運行了將近一秒鐘。你建議從它看出來加快速度嗎? – kay10
@ kay10視圖不會影響性能。它只會使在多個上下文中使用查詢變得更加容易。 –
@ kay10如果運行時間比發佈另一個問題包括解釋結果和表結構包括索引 –