根据列中的数据对数据表中的数据进行分组

本文关键字:数据 数据表 | 更新日期: 2023-09-27 17:49:27

我有一个如下的数据表

**Name**      **Department**
  abc             dept 1
  def             dept 2
  ghi             dept 1
  jkl             dept 1
  mno             dept 2
  pqr             dept 1

我需要对数据表中的数据进行分组,以便所有具有Department为dept1的名称聚集在一起,然后所有具有Department dept2的名称聚集在一起(如下所示),并将其保存在另一个数据表中。

**Name**      **Department**
  abc             dept 1
  ghi             dept 1
  jkl             dept 1
  pqr             dept 1
  def             dept 2
  mno             dept 2

根据列中的数据对数据表中的数据进行分组

您可以使用下面的语句以您想要的顺序方式获取数据:

 SELECT * FROM YourTable 
 ORDER BY Department ASC, Name ASC

这将以Department作为主要排序键,以Name作为次要排序键对结果进行排序。两列都按ASC =升序排序(这也是默认的排序顺序)。如果向这两列添加了索引,那么检索排序结果的速度将与检索表上的任何其他查询一样快。我不明白为什么你要保存这个排序结果在另一个表..

编辑如果您已经在DataTable中有未排序的数据,您仍然可以通过使用以下代码

检索没有重复的排序版本
 yourDataTable.DefaultView.Sort = "Department ASC, Name ASC";

绑定这个数据排序,您不需要一个新的表。只需使用Datatable中的Select语句。