【发布时间】:2018-09-01 06:55:31
【问题描述】:
我正在尝试根据每年的月份检索数据。它会得到,但排序不正确。
选择客户、发货日期、型号、型号1、型号2、型号3 从 ( 选择客户 ,Concat(year(Audit_Date),' ',datename(month,Audit_Date)) as DispatchDate ,楷模 ,Count(Models) '单位' FROM dbo.ABC GROUP BY Client,Concat(year(Audit_Date),' ',datename(month,Audit_Date)),Models ) A B C D PIVOT(SUM(Units) FOR Models IN (Model1,Model2,Model3)) as P ORDER BY Client,DispatchDate我会得到这样的结果集:
客户调度日期 Model1 Model2 Model3 客户 1 2017 年 12 月 0 0 0 客户 1 2017 年 11 月 25 日 0 0 客户 1 2018 年 1 月 21 日 0 0 客户 1 2018 年 3 月 9 0 0 客户 2 2017 年 12 月 8 日 0 0 客户 2 2018 年 4 月 5 0 0 客户 2 2018 年 8 月 0 0 0 客户 2 2018 年 7 月 0 0 0 客户 2 2018 年 3 月 0 0 0 客户 3 2017 年 12 月 4 0 0 客户 3 2017 年 11 月 687 0 0 客户 3 2018 年 4 月 8 0 0 客户 3 2018 年 1 月 0 0 0但需要的数据如:
客户调度日期 Model1 Model2 Model3 客户 1 2018 年 1 月 21 日 0 0 客户 1 2018 年 3 月 9 0 0 客户 1 2017 年 11 月 25 日 0 0 客户 1 2017 年 12 月 0 0 0 客户 2 2018 年 3 月 0 0 0 客户 2 2018 年 4 月 5 0 0 客户 2 2018 年 7 月 0 0 0 客户 2 2018 年 8 月 0 0 0 客户 2 2017 年 12 月 8 日 0 0 客户 3 2018 年 1 月 0 0 0 客户 3 2018 年 4 月 8 0 0 客户 3 2017 年 11 月 687 0 0 客户 3 2017 年 12 月 4 0 0请任何人建议我进行查询。
【问题讨论】:
-
试试:
ORDER BY Client, DispatchDate DESC -
是的,您可以使用 ORDER BY Client, DispatchDate DESC 获得此结果
-
月不使用 ORDER BY Client, DispatchDate DESC 订购
-
您发布的当前结果与查询不匹配。在结果中,您将
DispatchDate显示为2017 December。但是,如果根据您发布的查询,它应该是2017 12。请相应地更新您的问题 -
抱歉,我忘记了要放置的功能。现在你可以试试@Squirrel
标签: sql-server