2012-06-28 269 views
0

我的查詢需要更多時間才能提供輸出,我可以創建可以輕鬆輸出的查詢。加入查詢需要更多時間

SELECT DISTINCT(property.Project_Name), property.Property_Type, ROUND(AVG(property.Unit_Price_psf)), property.Transacted_Price 
FROM property 
JOIN avg_property 
WHERE avg_property.Project_Name=property.Project_Name 
AND avg_property.Median_Price BETWEEN '$mdpr1' AND '$mdpr2' 
GROUP BY property.Project_Name 
+0

替代你對avg_property.Median_Price領域的指數? – Jake1164

+3

我們需要更多的信息,表結構,執行explain命令 – jcho360

+0

對於調試,如果我們可以輸出3個查詢,將會有所幫助:「SHOW CREATE TABLE property;」,「SHOW CREATE TABLE avg_property;」和「DESCRIBE SELECT ...」 –

回答

0

重寫的不同

SELECT 
    property.Project_Name, 
    property.Property_Type, 
    ROUND(AVG(property.Unit_Price_psf)), 
    property.Transacted_Price 
FROM property 
    JOIN avg_property 
WHERE exists(select 
      Project_Name 
     from property 
     group by Project_Name) 
    and avg_property.Project_Name = property.Project_Name 
    AND avg_property.Median_Price BETWEEN '$mdpr1' 
    AND '$mdpr2' 
GROUP BY property.Project_Name 
+0

我想從數據庫中使用唯一的Project_Name,這就是爲什麼我寫有獨特的,你有什麼替代? – Gopal

+0

這是不同的選擇。如果您的表中有project_name字段,它應該是唯一的。不應該允許重複。 –

+0

不,我有重複項目名稱的項目,我想檢查這些條目, – Gopal