powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / DataTable.Select()
9 сообщений из 9, страница 1 из 1
DataTable.Select()
    #36080262
Фотография lans
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как можно в DataTable.Select() сделать Group By?
...
Рейтинг: 0 / 0
DataTable.Select()
    #36080402
stimpi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
если надо убрать лишние строки, то тогда используйте ToTable
если для агрегатных вычислений, то Compute , но он существенно ограничен, в сравнении с native SQL.
В случае сложной группировки с агрегированием используют перебор строк как ни печально.
...
Рейтинг: 0 / 0
DataTable.Select()
    #36080458
Фотография WYPMAH
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lansКак можно в DataTable.Select() сделать Group By?
сделать это на стороне сервера и не мучатся ;)

_______________
AnimeBay - аниме магазин, который Вас не разочарует.
...
Рейтинг: 0 / 0
DataTable.Select()
    #36080459
Фотография lans
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мне нужно всего лишь навсего avg одной колонки а там их всего три.. две текстовые одна float
можно ли мне добиться группировки и avg float колонки этим самым Compute?
...
Рейтинг: 0 / 0
DataTable.Select()
    #36080561
Фотография lans
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пытаюсь решить проблему следующим орбразом
пишу
Код: plaintext
1.
2.
   SqlDataAdapter AdGetData = new SqlDataAdapter(" use Survey; declare  @test table (X varchar(500),Y varchar(500),Val float)" + InsertQuery + "; Select  X, Y, round(Avg(Val),2)  from  @test group by X, Y", con);
            AdGetData.Fill(Tb);
Только вот в Tb у меня почему во первых не только сгруппированные данные но и те данные которые я группировал а во вторых строки между группами разделены одной строкой
...
Рейтинг: 0 / 0
DataTable.Select()
    #36080617
stimpi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
lansМне нужно всего лишь навсего avg одной колонки а там их всего три.. две текстовые одна float
можно ли мне добиться группировки и avg float колонки этим самым Compute?
Код: plaintext
table.Compute("AVG(Col3)", "Col1 = 'One' AND Col2 = 'Two'")
...
Рейтинг: 0 / 0
DataTable.Select()
    #36080648
stimpi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вот еще нашел через Linq
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
            DataTable table = new DataTable();
            table.Columns.Add("col1", typeof(string));
            table.Columns.Add("col2", typeof(string));
            table.Columns.Add("Value", typeof(decimal));
            table.Rows.Add("123", "1", 4.0M);
            table.Rows.Add("123", "1", 5.0M);
            table.Rows.Add("1", "123", 1.0M);
            table.Rows.Add("123", "2", 2.0M);
            table.Rows.Add("123", "2", 3.0M);

            var query = from row in table.AsEnumerable()
                        group row by new
                        {
                            col1 = row.Field<string>("col1"),
                            col2 = row.Field<string>("col2")
                        }
                        into grp
                        select new
                        {
                            Col1 = grp.Key.col1,
                            Col2 = grp.Key.col2,
                            Quantity = grp.Sum(r => r.Field<decimal>("Value")),
                            Average = grp.Average(r => r.Field<decimal>("Value"))
                        };

            Console.WriteLine("{0,5} {1,5} {2,5} {3,5}", "Col1", "Col2", "Quantity", "Average");
            foreach (var item in query)
            {
                Console.WriteLine("{0,5} {1,5} {2,6} {3,6}", item.Col1,
                item.Col2, item.Quantity, item.Average);
            }
...
Рейтинг: 0 / 0
DataTable.Select()
    #36081132
Фотография WYPMAH
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lansМне нужно всего лишь навсего avg одной колонки а там их всего три.. две текстовые одна float
можно ли мне добиться группировки и avg float колонки этим самым Compute?
вы всё же считаете, что линк или другие способы намного удобнее и быстрее правильно составленного запроса?

_______________
AnimeBay - аниме магазин, который Вас не разочарует.
...
Рейтинг: 0 / 0
DataTable.Select()
    #36081866
Фотография lans
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нету у меня на базе этой таблицы.
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / DataTable.Select()
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]