0

テーブルがあると仮定します

ID、タイトル、日付

次のクエリを 1 つ作成する必要があります。

select date = TODAY, order by id
select data < TODAY, order by date desc,
select data > TODAY, order by date asc,
4

1 に答える 1

2

UNIONサブクエリを使用する必要があると思います:

SELECT * FROM (
    SELECT *
    FROM YourTable
    WHERE Date(dateField) = Date(Now())
    ORDER BY ID 
) t1
UNION
SELECT * FROM (
    SELECT *
    FROM YourTable
    WHERE dateField < Now()
    ORDER BY dateField DESC
) t2
UNION
SELECT * FROM (
    SELECT *
    FROM YourTable
    WHERE Date(dateField) > Now()
    ORDER BY dateField 
) t3

これは単純化されたSQL Fiddleの例です。

幸運を。

于 2013-01-31T06:16:38.780 に答える