首页 > 解决方案 > 按 SQL 排序未按预期工作,我不知道它在做什么,但我想要一种简单的日期升序

问题描述

当我使用 order by 函数时,我有一个查询未按预期运行,但我希望它按我正在使用 Microsoft SQL Server Management Studio 2008 R2 的日期升序正确排序。

查询是:

DECLARE @StartDate DATETIME
    ,@EndDate DATETIME

SET @StartDate = '2020-01-01'
SET @EndDate = '2020-01-10'

SELECT DATENAME(dw, NCPDPREPS.CREATEDON) + ' - ' + CONVERT(VARCHAR, ncpdpreps.CREATEDON, 1) AS [DATE YOU DID IT]
    ,COUNT(CONVERT(DATE, NCPDPREPS.CREATEDON, 1)) [CLAIMS ADJUDICATED]
    ,('ASDGFW342WT4' + ' ' + 'AUIESJDFAJKSDHF' + ' ' + PNNAMES.PROFDESIG) AS [CREATOR/CLINICIAN]
FROM NCPDPREPS
LEFT JOIN PNNAMES ON PNNAMES.DELFLAG = 0
    AND PNNAMES.NO = NCPDPREPS.CFK_PNNAMES
WHERE NCPDPREPS.FIELDNAME = 'D2'
    AND PNNAMES.LNAME = 'FIGUEIRA'
    AND NCPDPREPS.CREATEDON BETWEEN @STARTDATE
        AND @ENDDATE
GROUP BY DATENAME(dw, NCPDPREPS.CREATEDON) + ' - ' + CONVERT(VARCHAR, ncpdpreps.CREATEDON, 1)
    ,PNNAMES.FNAME
    ,PNNAMES.LNAME
    ,PNNAMES.PROFDESIG
ORDER BY [DATE YOU DID IT] ASC

这导致: 在此处输入图像描述 但我希望它导致: 在此处输入图像描述

标签: sqlsql-server

解决方案


您只能通过 on 设置 order,ncpdpreps.CREATEDON但在 select 语句中进行输出


推荐阅读