-1

我想根据 LastModifiedDate 或 CreatedDate 对记录进行排序,我希望两者中的最新应该出现在顶部。我试过了,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 回答