Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / WinForms, .Net Framework Новый топик    Ответить
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
 Как добавить информацию в группировку Linq?  [new]
iskatelsql
Member

Откуда:
Сообщений: 783
Вот такой пример с метанита:
var phoneGroups = phones.GroupBy(p => p.Company)
                        .Select(g => new { Name = g.Key, Count = g.Count() });


Вроде все понятно, но я не нашел как подоткнуть сюда еще поля класса.

Подробнее: это дело в автокаде, мне нужно найти где размер группы больше одного, что данный запрос удачно находит. Но еще очень хотелось бы найти место, где больше одного, по координатам, которые есть в классе. Но как засунуть сюда что-то кроме агрегатного?

Еще подробнее:

  
List<moves> lmoves = new List<moves>();
var Groups = lmoves.GroupBy(p => p.side).Select(g => new { Name = g.Key,  Count = g.Count() });

foreach (var item in Groups)
      {
        if(item.Count > 1)
        System.Windows.Forms.MessageBox.Show($"xz  {item.Name},{item.Count}");
      }

enum direction
 {
 up,
 down,
 left,
 right
 }

class moves
 {
 public Polyline strelka { get; set; }
 public direction direct { get; set; }
 public direction side { get; set; }
 public double dist { get; set; }
 }
9 май 19, 00:07    [21881564]     Ответить | Цитировать Сообщить модератору
 Re: Как добавить информацию в группировку Linq?  [new]
fkthat
Member

Откуда:
Сообщений: 1139
Ниче не понял. Какие поля? Какого класса?
9 май 19, 00:11    [21881565]     Ответить | Цитировать Сообщить модератору
 Re: Как добавить информацию в группировку Linq?  [new]
iskatelsql
Member

Откуда:
Сообщений: 783
fkthat,

Ну так в нижний большой пример вроде все скопипастил. Мнеб, туда, где "xz" вывести бы что нить из класса moves. кроме того по чему группировали.
9 май 19, 00:16    [21881567]     Ответить | Цитировать Сообщить модератору
 Re: Как добавить информацию в группировку Linq?  [new]
WebPrj
Member [заблокирован]

Откуда:
Сообщений: 376
iskatelsql, найди из перврвой коллекции по key и выведи
9 май 19, 09:20    [21881637]     Ответить | Цитировать Сообщить модератору
 Re: Как добавить информацию в группировку Linq?  [new]
Агнец за бортом
Member

Откуда:
Сообщений: 1286
iskatelsql,
List<moves> lmoves = new List<moves>();
var Groups = lmoves.GroupBy(p => p.side).Where(x=>x.Count()>1)

foreach (var groupedItems in Groups)
      {
var name = groupedItems.Key;
var amount = groupedItems.Count();
var yourItemsWithСoordinates = groupedItems;

      }
13 май 19, 08:58    [21882996]     Ответить | Цитировать Сообщить модератору
 Re: Как добавить информацию в группировку Linq?  [new]
Petro123
Member

Откуда: Загрузочный сектор Москвы (AutoPOI.ru)
Сообщений: 38643
Агнец за бортом,
Не.
Например, свернули группу Все_мужчины count=1500.
А ему надо фио в этой группе.
13 май 19, 09:11    [21883011]     Ответить | Цитировать Сообщить модератору
 Re: Как добавить информацию в группировку Linq?  [new]
Агнец за бортом
Member

Откуда:
Сообщений: 1286
Petro123
А ему надо фио в этой группе.


Что это значит?

Не надо 1500, покажи результат на трёх.
13 май 19, 09:13    [21883014]     Ответить | Цитировать Сообщить модератору
 Re: Как добавить информацию в группировку Linq?  [new]
Агнец за бортом
Member

Откуда:
Сообщений: 1286
Petro123
Агнец за бортом,
Не.
Например, свернули группу Все_мужчины count=1500.
А ему надо фио в этой группе.


Через запятую, что ли? Картинка с другого сайта.
13 май 19, 09:13    [21883016]     Ответить | Цитировать Сообщить модератору
 Re: Как добавить информацию в группировку Linq?  [new]
Petro123
Member

Откуда: Загрузочный сектор Москвы (AutoPOI.ru)
Сообщений: 38643
Агнец за бортом,
))) у него спроси.
Добавляются поля либо через запятую либо sum, min, max и т.д.
13 май 19, 09:22    [21883032]     Ответить | Цитировать Сообщить модератору
 Re: Как добавить информацию в группировку Linq?  [new]
fkthat
Member

Откуда:
Сообщений: 1139
Petro123
Агнец за бортом,
Не.
Например, свернули группу Все_мужчины count=1500.
А ему надо фио в этой группе.

ФИО кого? Это группа тёзок-однофамильцев?
13 май 19, 09:33    [21883043]     Ответить | Цитировать Сообщить модератору
 Re: Как добавить информацию в группировку Linq?  [new]
Petro123
Member

Откуда: Загрузочный сектор Москвы (AutoPOI.ru)
Сообщений: 38643
fkthat,
Ты в игноре-фильтре. Я не вижу что ты пишешь. Увы дорогой, все твои посты до этого не несли никакой полезной информации.
13 май 19, 09:36    [21883046]     Ответить | Цитировать Сообщить модератору
 Re: Как добавить информацию в группировку Linq?  [new]
iskatelsql
Member

Откуда:
Сообщений: 783
Агнец за бортом,

Мне, в данном случае, достаточно любого значения. Все равно все идет итерационным методом. И будет повторятся до искоренения.
13 май 19, 19:59    [21883730]     Ответить | Цитировать Сообщить модератору
 Re: Как добавить информацию в группировку Linq?  [new]
iskatelsql
Member

Откуда:
Сообщений: 783
Это я про
Агнец за бортом
Через запятую, что ли? Картинка с другого сайта.
13 май 19, 20:01    [21883733]     Ответить | Цитировать Сообщить модератору
 Re: Как добавить информацию в группировку Linq?  [new]
Petro123
Member

Откуда: Загрузочный сектор Москвы (AutoPOI.ru)
Сообщений: 38643
iskatelsql,
Для итерации у тебя есть исходная коллекция. И запятые не понадобятся.
13 май 19, 20:09    [21883740]     Ответить | Цитировать Сообщить модератору
 Re: Как добавить информацию в группировку Linq?  [new]
iskatelsql
Member

Откуда:
Сообщений: 783
Petro123
Для итерации у тебя есть исходная коллекция. И запятые не понадобятся.


это понятно что есть я и сделал уже давно, а как же извращения? Вот подумалось мне "а почему бы не группировкой" а потом "опа, а как же координаты засунуть" и тут написал. На SQL же можно так любое поле при группировке указать, схватит запрос любое значение и ладно.
13 май 19, 20:14    [21883744]     Ответить | Цитировать Сообщить модератору
 Re: Как добавить информацию в группировку Linq?  [new]
Petro123
Member

Откуда: Загрузочный сектор Москвы (AutoPOI.ru)
Сообщений: 38643
iskatelsql
На SQL же можно так любое поле при группировке указать, схватит запрос любое значение и ладно.
нет. Показывай. Будут совсем разный смысл запросов. А для запятых к каждой базе свой подход и кляуза)
13 май 19, 20:28    [21883760]     Ответить | Цитировать Сообщить модератору
 Re: Как добавить информацию в группировку Linq?  [new]
iskatelsql
Member

Откуда:
Сообщений: 783
Petro123
нет.

чего нет?

+
/* Disable foreign keys */
PRAGMA foreign_keys = 'off';

/* Begin transaction */
BEGIN;

/* Database properties */
PRAGMA auto_vacuum = 0;
PRAGMA encoding = 'UTF-8';
PRAGMA page_size = 4096;

/* Drop table [t] */
DROP TABLE IF EXISTS [main].[t];

/* Table structure [t] */
CREATE TABLE [main].[t](
  [a] TEXT, 
  [b] TEXT);

/* Table data [t] Record count: 4 */
INSERT INTO [t]([rowid], [a], [b]) VALUES(1, '1', 'a');
INSERT INTO [t]([rowid], [a], [b]) VALUES(2, '2', 'b');
INSERT INTO [t]([rowid], [a], [b]) VALUES(3, '1', 'c');
INSERT INTO [t]([rowid], [a], [b]) VALUES(4, '2', 'd');

/* Commit transaction */
COMMIT;

/* Enable foreign keys */
PRAGMA foreign_keys = 'on';



SELECT [main].[t].[a],[main].[t].[b]
FROM   [main].[t]
GROUP  BY
          [main].[t].[a]
13 май 19, 20:43    [21883786]     Ответить | Цитировать Сообщить модератору
 Re: Как добавить информацию в группировку Linq?  [new]
Petro123
Member

Откуда: Загрузочный сектор Москвы (AutoPOI.ru)
Сообщений: 38643
iskatelsql,
Синтаксис из прошлого века?)))
Результаты где?
13 май 19, 21:07    [21883805]     Ответить | Цитировать Сообщить модератору
 Re: Как добавить информацию в группировку Linq?  [new]
iskatelsql
Member

Откуда:
Сообщений: 783
Petro123,

Ты собственно к чему придираешься то? Синтаксис уже не тот. Главное что это работает. Я не модник.

А результаты - сам проверь, тебе же они интересны.
13 май 19, 21:12    [21883808]     Ответить | Цитировать Сообщить модератору
 Re: Как добавить информацию в группировку Linq?  [new]
Изопропил
Member

Откуда:
Сообщений: 31113
Petro123
Синтаксис из прошлого века?)))

Схера ли?
13 май 19, 21:22    [21883809]     Ответить | Цитировать Сообщить модератору
 Re: Как добавить информацию в группировку Linq?  [new]
Petro123
Member

Откуда: Загрузочный сектор Москвы (AutoPOI.ru)
Сообщений: 38643
Изопропил,
Вместо этого
SELECT [main].[t].[a],[main].[t].[b]
FROM [main].[t]
GROUP BY
[main].[t].[a]
Можно так
SELECT a, b FROM   t GROUP  BY a

Но вряд ли это скомпилится
13 май 19, 21:52    [21883820]     Ответить | Цитировать Сообщить модератору
 Re: Как добавить информацию в группировку Linq?  [new]
Petro123
Member

Откуда: Загрузочный сектор Москвы (AutoPOI.ru)
Сообщений: 38643
iskatelsql
А результаты - сам проверь, тебе же они интересны.
завтра. На постгри.
13 май 19, 21:54    [21883824]     Ответить | Цитировать Сообщить модератору
 Re: Как добавить информацию в группировку Linq?  [new]
Агнец за бортом
Member

Откуда:
Сообщений: 1286
iskatelsql
Агнец за бортом,

Мне, в данном случае, достаточно любого значения. Все равно все идет итерационным методом. И будет повторятся до искоренения.


List<moves> lmoves = new List<moves>();
var Groups = lmoves.GroupBy(p => p.side).Where(x=>x.Count()>1)

foreach (var groupedItems in Groups)
      {
var name = groupedItems.Key;
var amount = groupedItems.Count();
var yourItemsWithСoordinates = groupedItems.FirstOrDefault();

      }


-- Все равно все идет итерационным методом.
Так может и не надо? Картинка с другого сайта.
13 май 19, 22:12    [21883838]     Ответить | Цитировать Сообщить модератору
 Re: Как добавить информацию в группировку Linq?  [new]
fkthat
Member

Откуда:
Сообщений: 1139
Petro123
Изопропил,
Вместо этого
SELECT [main].[t].[a],[main].[t].[b]
FROM [main].[t]
GROUP BY
[main].[t].[a]
Можно так
SELECT a, b FROM   t GROUP  BY a

Но вряд ли это скомпилится


Что и куда скомпилится? У тебя что, прикол такой - влезть в каждую ветку и понаписать там всевозможной глупости? Уже весь форум заср..л.
13 май 19, 22:39    [21883846]     Ответить | Цитировать Сообщить модератору
 Re: Как добавить информацию в группировку Linq?  [new]
fkthat
Member

Откуда:
Сообщений: 1139
iskatelsql
Мне, в данном случае, достаточно любого значения.


Если любого значения, то почему просто не вписать захардкоженную строку от балды?
13 май 19, 22:41    [21883850]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
Все форумы / WinForms, .Net Framework Ответить