-1

LastModifiedDate または CreatedDate に基づいてレコードを並べ替えたいのですが、2 つのうち最新のものを一番上に表示する必要があります。私は試してみましorder by CreatedDate DESC, LastModifiedDate DESCたが、これはそれらの最新のものを上に表示しません.lastmodifieddateを最初に優先し、次にCreatedDateを優先します

4

3 に答える 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 に答える