[英]Order by in SQL Server 2008
我的查询有问题。
我需要根据“创建日期”和“图像位置”列对记录进行排序。
我在哪里有下表
'------------------------------------------------- --------
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.380 | 0 |
4 * | 原始图片 | 2013-11-20 17:27:09.380 | 3 |
'------------------------------------------------- --------
现在,如果我使用
按[Created dt],[Image Position]排序,然后我就可以正常工作了
现在我想将图像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.380 | 0 |
4 * | 原始图片 | 2013-11-20 17:27:09.380 | 1 |
'------------------------------------------------- --------
现在我的预期输出应该是
'------------------------------------------------- --------
ID | 图像类型|创建的Dt | 图片位置|
'------------------------------------------------- --------
4 * | 原始图片 | 2013-11-20 17:27:09.380 | 1 |
2 * | 原始图片 | 2013-11-20 17:27:07.380 | 2 |
3 * | *空白图片* | 2013-11-20 17:27:08.380 | 0 |
1 * | 原始图片 | 2013-11-20 17:27:06.380 | 3 |
'------------------------------------------------- --------
但是在这种情况下,如果我正在使用
按[Created dt],[Image Position]排序,它给了我
'------------------------------------------------- --------
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.380 | 0 |
4 * | 原始图片 | 2013-11-20 17:27:09.380 | 1 |
'------------------------------------------------- --------
我无法对此进行更多解释。.如果有人可以理解,请帮助我。
提前致谢。
由于您首先在CreatedDate上排序,然后在ImagePosition上排序-这是预期的行为。 第二个排序字段(ImagePosition)将仅用作决胜局,在该处发现同一CreatedDate的多个行。 在您的情况下,所有CreatedDate都不同,因此从不使用(或不需要)ImagePosition排序。
尝试更改排序顺序以获取所需内容:
Order by [Image Position], [Created dt]
如果我理解正确,则需要:
order by [Created dt] DESC, [Image Position]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.