SQL для LINQ запроса asp.net - PullRequest
1 голос
/ 23 июня 2011

В настоящее время я пытаюсь получить статистику для своего веб-сайта, но я не могу создать запрос для моей базы данных, чтобы получить имя пользователя, которое, если оно встречается чаще всего во всех строках.

SQL-запрос должен выглядеть примерно так:

SELECT username FROM Views GROUP BY 'username' ORDER BY COUNT(*) DESC LIMIT 1

Как мне сделать этот запрос в моем контроллере?

Ответы [ 4 ]

4 голосов
/ 23 июня 2011
var username = db.Views.GroupBy(v => v.username).OrderByDescending(g => g.Count()).First().Key
1 голос
/ 23 июня 2011
(from a in Views
group a by a.username into b
let c = b.count()
orderby c descending
select a.username).take(1);

Ваш запрос преобразования .....

0 голосов
/ 23 июня 2011

Вы не можете использовать LIMIT 1 (mysql), поскольку LinqToSql генерирует TSql только из MSSqlServer.

0 голосов
/ 23 июня 2011

Вот как вы делаете этот запрос, используя LINQ:

var temp = (from a in Views
            group a.username by a.username into b
            orderby b.Count() descending
            select b.Key).Take(1);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...