Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server sql server中的按日期排序_Sql Server_Sorting_Last Modified_Datecreated - Fatal编程技术网

Sql server sql server中的按日期排序

Sql server sql server中的按日期排序,sql-server,sorting,last-modified,datecreated,Sql Server,Sorting,Last Modified,Datecreated,我想根据LastModifiedDate或CreatedDate对记录进行排序,我希望两个中最新的一个应该出现在顶部。我尝试了CreatedDate DESC、LastModifiedDate DESC的排序,但这并没有在顶部显示最新的排序,它首先优先考虑LastModifiedDate,然后是CreatedDate您可以比较两列中的两个日期,然后选择最新的日期 SELECT CASE WHEN lastmodifiedDate > createdDate THEN lastmod

我想根据LastModifiedDate或CreatedDate对记录进行排序,我希望两个中最新的一个应该出现在顶部。我尝试了CreatedDate DESC、LastModifiedDate DESC的排序,但这并没有在顶部显示最新的排序,它首先优先考虑LastModifiedDate,然后是CreatedDate

您可以比较两列中的两个日期,然后选择最新的日期

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

您可以在ORDERBY子句中使用Case语句,例如:

order by 
    case when CreatedDate > LastModifiedDate then CreatedDate else LastModifiedDate end DESC

请向我们展示您的查询工具,从逻辑上讲,lastmodified始终是最新的。如果添加了任何新记录,那么lastmodified将为null,createddate将具有最新的日期(今天的日期)
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