Допустим, у вас есть DataTable, в котором есть столбцы «id», «cost», «qty»:
DataTable dt = new DataTable();
dt.Columns.Add("id", typeof(int));
dt.Columns.Add("cost", typeof(double));
dt.Columns.Add("qty", typeof(int));
И это указано на «id»:
dt.PrimaryKey = new DataColumn[1] { dt.Columns["id"] };
Теперь нас интересует цена за количество. Итак, другими словами, если у вас был ряд:
id | cost | qty
----------------
42 | 10.00 | 2
Стоимость за количество составляет 5,00 .
Мой вопрос в том, что, учитывая предыдущую таблицу, предположим, что она составлена из многих тысяч строк, и вас интересует топ-3 стоимости за количество строк. Необходимая информация: id , стоимость за количество . Вы не можете использовать LINQ.
В SQL это было бы тривиально; как BEST (наиболее эффективно) вы бы достигли этого в C # без LINQ?
Обновление: Поиск ответов, которые не изменяют таблицу.