我試圖從今天的日期中以任一方向(向前和向後的時間)和日期順序選擇10行。迄今爲止我所得到的最好的是:從日期中選擇10行向前和10個向後
SELECT * FROM (
SELECT * FROM foo WHERE dt >= now() ORDER BY dt ASC LIMIT 10
UNION
SELECT * FROM foo WHERE dt < now() ORDER BY dt DESC LIMIT 10
) ORDER BY dt ASC;
有沒有更好的/更有效的方法來做到這一點?
謝謝。
了'爲了by'條款必須包含兩個子查詢。 – didierc 2013-04-23 10:35:35
我剛剛注意到,並添加了它!謝謝 – 2013-04-23 10:37:08
沒有更多的數據集內部邏輯的知識,我不認爲你可以比這更好。 – didierc 2013-04-23 10:40:31