SQL Server 2008中的订购方式

SQL Server 2008中的订购方式,sql,sql-order-by,Sql,Sql Order By,我对我的问题有异议 我需要根据创建的日期和图像位置列对记录进行排序 我的桌子在哪里 "--------------------------------------------------------- Id |图像类型|创建的Dt |图像位置| "--------------------------------------------------------- 1*|原始图像|2013-11-20 17:27:06.380|1| 2*|原始图像|2013-11-20 17:27:07.380|2

我对我的问题有异议

我需要根据创建的日期和图像位置列对记录进行排序

我的桌子在哪里

"---------------------------------------------------------
Id |图像类型|创建的Dt |图像位置|
"---------------------------------------------------------
1*|原始图像|2013-11-20 17:27:06.380|1|
2*|原始图像|2013-11-20 17:27:07.380|2|
3**空白图像*2013-11-20 17:27:08.3800
4*|原始图像|2013-11-20 17:27:09.380|3|
"---------------------------------------------------------

现在如果我使用

订单由[创建日期],[图像位置] 那我就正常了

现在,我想将imge id 4的图像位置更改为图像位置1,将图像id 1更改为图像位置3

"---------------------------------------------------------
Id |图像类型|创建的Dt |图像位置|
"---------------------------------------------------------
1*|原始图像|2013-11-20 17:27:06.380|3|
2*|原始图像|2013-11-20 17:27:07.380|2|
3**空白图像*2013-11-20 17:27:08.3800
4*原始图像2013-11-20 17:27:09.3801
"---------------------------------------------------------

现在,我的预期输出应该是

"---------------------------------------------------------
Id |图像类型|创建的Dt |图像位置|
"---------------------------------------------------------
4*原始图像2013-11-20 17:27:09.3801
2*|原始图像|2013-11-20 17:27:07.380|2|
3**空白图像*2013-11-20 17:27:08.3800
1*|原始图像|2013-11-20 17:27:06.380|3|
"---------------------------------------------------------

但在这种情况下,如果我使用

订单由[创建日期],[图像位置] 它给了我

"---------------------------------------------------------
Id |图像类型|创建的Dt |图像位置|
"---------------------------------------------------------
1*|原始图像|2013-11-20 17:27:06.380|3|
2*|原始图像|2013-11-20 17:27:07.380|2|
3**空白图像*2013-11-20 17:27:08.3800
4*原始图像2013-11-20 17:27:09.3801
"---------------------------------------------------------

除此之外,我无法解释更多。。如果有人能理解这一点,请帮助我


提前感谢。

因为您首先在CreatedDate上排序,然后在ImagePosition上排序-这是预期的行为。第二个排序字段(ImagePosition)将仅用作发现同一CreatedDate的多行的分块符。在您的情况下,所有CreatedDate都是不同的,因此从不使用(或需要)ImagePosition排序

尝试更改排序顺序以获得所需内容:

Order by [Image Position], [Created dt]

因为您首先在CreatedDate上排序,然后在ImagePosition上排序-这是预期的行为。第二个排序字段(ImagePosition)将仅用作发现同一CreatedDate的多行的分块符。在您的情况下,所有CreatedDate都是不同的,因此从不使用(或需要)ImagePosition排序

尝试更改排序顺序以获得所需内容:

Order by [Image Position], [Created dt]

因为您首先在CreatedDate上排序,然后在ImagePosition上排序-这是预期的行为。第二个排序字段(ImagePosition)将仅用作发现同一CreatedDate的多行的分块符。在您的情况下,所有CreatedDate都是不同的,因此从不使用(或需要)ImagePosition排序

尝试更改排序顺序以获得所需内容:

Order by [Image Position], [Created dt]

因为您首先在CreatedDate上排序,然后在ImagePosition上排序-这是预期的行为。第二个排序字段(ImagePosition)将仅用作发现同一CreatedDate的多行的分块符。在您的情况下,所有CreatedDate都是不同的,因此从不使用(或需要)ImagePosition排序

尝试更改排序顺序以获得所需内容:

Order by [Image Position], [Created dt]

如果我理解正确,您需要:

order by [Created dt] DESC, [Image Position]

如果我理解正确,您需要:

order by [Created dt] DESC, [Image Position]

如果我理解正确,您需要:

order by [Created dt] DESC, [Image Position]

如果我理解正确,您需要:

order by [Created dt] DESC, [Image Position]

不,这根本不是问题所在-它仍然会产生一个不想要的结果。是的,你是对的,我没有正确地理解它。我刚才看到有“17:27:07.380”的那一行在“17:27:07.380”之上。我的答案是不正确的,我希望所有空白页没有任何排序,剩余的原始页有排序。如果一个空白页的位置是3,即使在排序后,位置也应该是3。不,这根本不是问题-它也会给出一个不希望的结果。是的,你是对的,我没有不希望它