【问题标题】:Select distinct rows in c# datatable on single column but return all columns在单个列上选择 c# 数据表中的不同行但返回所有列
【发布时间】:2017-04-25 03:43:18
【问题描述】:
DataView view = new DataView(dt);
dt= view.ToTable(true, "id");

如果我有 2 列“id”和“name”,我需要获取不同的“id”而不是不同的“name”,但我需要在数据表中保留“name”列我该怎么办?

【问题讨论】:

    标签: c#


    【解决方案1】:
    DataView view = new DataView(table);
    DataTable distinctValues = view.ToTable(true, "Column1", "Column2" ...);
    

    如果我有 2 列“id”和“name”,我需要获取不同的“id”而不是不同的“name”,但我需要在数据表中保留“name”列我该怎么办?

    好的,那么我需要分组,而不是区分。我可以使用 Linq to DataSet 来完成:table.AsEnumerable().GroupBy(row => row.Field<int>("id")).Select(group =>group.First()).CopyToDataTable()

    【讨论】:

    • 但它只返回一行:(
    • @HimanshuSuthar 哪一个?以及您使用不同的方式还是分组方式?
    • group by 操作后应该有 3 个不同的行,但它只返回第一个。
    • 查看此链接here
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-02-02
    • 2011-09-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多