【发布时间】:2014-08-14 14:06:35
【问题描述】:
我有一个名为“RootID”的 int 列,其中包含值:
3
3
3
6
6
5
4
我想在此列中选择唯一值,我使用如下 distinct 子句:
select distinct RootID from MyTable.
结果是“3 4 5 6”。
但我想要的结果是 "3 6 5 4" 。 (行的实际外观)。
我想要一个具有实际行外观的结果,没有自动排序。 你有什么建议吗???
【问题讨论】:
-
如果你没有定义一个顺序,那么你就不能在任何查询中依赖任何特定的顺序。
-
您在屏幕上看到的顺序不是数据中的隐含顺序。可能会添加一个标识列并按此顺序。
-
没有固有顺序,要随机顺序吗?这是唯一的专栏,是
RootIdPK吗?如果您想保留创建顺序,请添加datetime列并按此排序。 -
@Achilles_VN:没有行的实际外观。顺便说一句,它们在 SSMS 中出现在哪里?如果您不指定一个,请不要依赖订单。默认情况下,表中的行根本不排序。您必须明确指定
ORDER BY ColumnName。