【问题标题】:Sort data in column from least to greatest or alphabetically从最小到最大或按字母顺序对列中的数据进行排序
【发布时间】:2012-04-11 20:06:58
【问题描述】:

我想使用一列对 SQL Server 2008 中的表进行排序,并通过该列排列整个表。类似于按值排序并将排序扩展到整行的 Excel 函数。

例如表格组成如下:

ID     NameID     Value1     Value2
0      10210      -1         0 
0      3201       -1         1
1      12051      -1         1
1      11210      -1         0
1      3650       -1         0

如果我想使用NameID 列对表格进行排序,我将如何去做?是否只能使用某种SELECT 查询,我将如何在该视图中进行编辑?

使用字符串而不是数字的表格也是如此,是否可以从 A-Z 或 Z-A 排序?

使用 SQL Server 2008。

【问题讨论】:

    标签: sql-server sql-server-2008 database-design sorting


    【解决方案1】:

    试试这个

    SELECT * 
    FROM [Your Table Name]
    ORDER BY NameID
    

    你也可以这样做

    SELECT *
    FROM [Your Table Name]
    ORDER BY NameID DESC
    

    【讨论】:

    • 这些允许我在此视图中编辑它们吗?我以为SELECT * 只以视图形式显示它们。
    • 如果您需要编辑它们,您将需要使用 UPDATE 语句,您不能仅通过选择它们来编辑它们
    【解决方案2】:

    如果我想使用 NameID 列对表进行排序,我该怎么做?

    SELECT *
    FROM yourTable
    ORDER BY NameId ASC
    

    SELECT *
    FROM yourTable
    ORDER BY NameId DESC
    

    是否只能使用某种 SELECT 查询,我将如何在该视图中进行编辑?

    是的,您需要使用SELECT 查询来获取数据并对其进行排序。如果您想更新它,那么您将使用UPDATE 语句。

    使用字符串而不是数字的表格也是如此,是否可以从 A-Z 或 Z-A 排序?

    是的,SELECT 中的 ORDER BY 子句适用于数字或字符串。

    【讨论】:

    • 感谢您的解释。
    猜你喜欢
    • 2016-08-26
    • 2015-06-13
    • 2015-10-30
    • 2016-12-15
    • 1970-01-01
    • 1970-01-01
    • 2017-02-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多