如果查詢的結果不符合計數閾值,您可以計算查詢的結果並使其成爲動態查詢的一部分嗎?也許使用一個案例?正如你在下面看到的,我有一個很大的愚蠢的SQL查詢有很多事情(忽略日期調整部分,對不起)。有時它會從超過10k個物品的數據庫中返回少於12個結果,因爲它需要在關閉17小時內的物品。如果sql查詢計數小於
所以問題是,我可以檢查(計數?)整個查詢結果本身,並打開17小時參數到一個更大的數字返回至少12個結果?
在此先感謝。
SELECT 100 - round((current_price/item.estimated_price)*100) as percent, item.cached_thumbnail_url, item.item_id, current_price, close_date, catalog_item_id FROM catalog_item AS ci JOIN item on item.item_id = ci.item_id
JOIN item_translations it ON (it.item_id = item.item_id) WHERE ((100 - round((current_price/item.estimated_price)*100)) > 49 AND
item.estimated_price > 0 AND
current_price > 0 AND
ci.close_date > DATE_ADD(NOW(), interval 14400 second) AND
item.active = 1 AND
ci.active = 1 AND
(current_price/estimated_price) < 1 AND
(ci.close_date < DATE_ADD(DATE_ADD(NOW(), interval 14400 second), INTERVAL 17 HOUR))) ORDER BY (item.estimated_price - current_price) DESC LIMIT 12
檢查mysql case函數以替換該間隔。你也可以使用存儲過程。 – Samson 2012-07-31 06:26:23