LastModifiedDate または CreatedDate に基づいてレコードを並べ替えたいのですが、2 つのうち最新のものを一番上に表示する必要があります。私は試してみましorder by CreatedDate DESC, LastModifiedDate DESC
たが、これはそれらの最新のものを上に表示しません.lastmodifieddateを最初に優先し、次にCreatedDateを優先します
1360 次
3 に答える
1
2 つの列で 2 つの日付を比較し、最新のものを選択することができます
SELECT
CASE WHEN lastmodifiedDate > createdDate THEN lastmodifiedDate
ELSE createdDate
END AS LatestDate
FROM yourtable
までに注文する必要があることを忘れていました。次に、以下を試すことができます
select columns from yourtable order by CASE WHEN lastmodifiedDate > createdDate THEN lastmodifiedDate
ELSE createdDate
END AS LatestDate desc
于 2016-06-06T12:02:28.403 に答える
1
Order By 句で Case ステートメントを使用できます。次に例を示します。
order by
case when CreatedDate > LastModifiedDate then CreatedDate else LastModifiedDate end DESC
于 2016-06-06T12:02:46.830 に答える
0
DECLARE @A TABLE (ID INT,CREATION_DATE DATE,LAST_MODIFIED_DATE DATE)
INSERT INTO @A
VALUES
(1,'2016/06/06','2016/06/06'),
(2,'2016/06/06','2016/06/07'),
(3,'2016/06/06','2016/06/05')
SELECT S.* FROM
(
SELECT A.ID,A.CREATION_DATE,A.LAST_MODIFIED_DATE,
CASE
WHEN A.LAST_MODIFIED_DATE > A.CREATION_DATE THEN A.LAST_MODIFIED_DATE
ELSE A.CREATION_DATE
END AS ORDER_DATE
FROM @A A
) S
ORDER BY S.ORDER_DATE DESC
于 2016-06-06T12:17:07.720 に答える