Выберите вопрос о различном числе - PullRequest
0 голосов
/ 18 марта 2011

У меня вопрос по поводу LINQ to SQL. Я хотел бы написать следующий запрос в LINQ:

SELECT DISTINCT([Column]),
       COUNT([Column]) as [Count]
FROM [Table]

Могу ли я сделать это в 1 запросе? Или я должен сначала выбрать свои отдельные столбцы, а затем для каждого выбрать количество? Это кажется очень неуклюжим и тяжелым (n-квадрат).

Ответы [ 2 ]

2 голосов
/ 18 марта 2011

Этот запрос недопустим, поскольку вы используете агрегат (COUNT) без группировки по столбцу, который вы выбираете.

То, что вы хотите, выглядит примерно так:

select [Column], Count([Column]) as [Count] from [Table] group by [Column]

Это легко выражается в LINQ to SQL.

from x in context.Table 
group x by x.Column into grp
select new { Column = grp.Key, Count = grp.Count() }
1 голос
/ 18 марта 2011

Попробуйте

from r in table
group r by r.Something into g
select new { Something = g.Key, Count = g.Count() }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...