是否可以合併這些查詢以便僅執行一次搜索條件?同時對多個字段進行分組和計數
SELECT category, count(*)
FROM ads
WHERE [search criteria]
GROUP BY category
SELECT state, count(*)
FROM ads
WHERE [search criteria]
GROUP BY state
SELECT price_range, count(*)
FROM ads
WHERE [search criteria]
GROUP BY price_range
...
Plus about 10 more COUNTS
我的目標是創建類似於this website使用的過濾器。
我正在考慮使用某種搜索引擎(例如Lucene)而不是關係數據庫。新的想法是受歡迎的。
嗨,珍妮。如果我這樣做,我將在存儲過程中多次執行搜索條件。 – Eduardo 2011-05-29 19:12:01
如果您只調用一次存儲過程,則不適用。存儲過程執行一次搜索條件並將結果存儲在「臨時表」(更像是一個臨時變量)中。其他查詢是針對臨時數據集運行的,而不是通過重複執行where子句。 – 2011-05-29 19:24:57
請注意,如果您能夠使用分析功能,那就更好了。我不想推定你的數據庫。 – 2011-05-29 19:25:35