Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
28.05.2013, 18:30
|
|||
---|---|---|---|
LINQ и group |
|||
#18+
Здравствуйте! Вопрос прост, но я только приступил к изучению LINQ. Что то не пойму как с group by работать. Подскажите плиз Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
на SQL синтаксисе это будет как то так: Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13.
Выдается какая то системная ересь. Как правильно вывести resultset? Спасибо! ... |
|||
:
Нравится:
Не нравится:
|
|||
|
28.05.2013, 18:40
|
|||
---|---|---|---|
|
|||
LINQ и group |
|||
#18+
как группировать, я писал здесь, прямо в вопросе, буквально вчера (поиск!) http://www.sql.ru/forum/1025519/linq-gruppirovka-po-dvum-polyam а считывать в твоём случае так: Код: c# 1. 2. 3. 4. 5. 6. 7. 8.
... |
|||
:
Нравится:
Не нравится:
|
|||
|
28.05.2013, 18:43
|
|||
---|---|---|---|
LINQ и group |
|||
#18+
Charles Weylandкак группировать, я писал здесь, прямо в вопросе, буквально вчера (поиск!) http://www.sql.ru/forum/1025519/linq-gruppirovka-po-dvum-polyam а считывать в твоём случае так: Код: c# 1. 2. 3. 4. 5. 6. 7. 8.
Дык я твой пост видел, но у тебя группировка по 2-м полям. А у меня вроде по одному... ... |
|||
:
Нравится:
Не нравится:
|
|||
|
28.05.2013, 18:46
|
|||
---|---|---|---|
|
|||
LINQ и group |
|||
#18+
medoedCharles Weylandкак группировать, я писал здесь, прямо в вопросе, буквально вчера (поиск!) http://www.sql.ru/forum/1025519/linq-gruppirovka-po-dvum-polyam а считывать в твоём случае так: Код: c# 1. 2. 3. 4. 5. 6. 7. 8.
Дык я твой пост видел, но у тебя группировка по 2-м полям. А у меня вроде по одному... эм.. ну.. в вопросе у меня содержится запрос с группировкой и он корректен. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
28.05.2013, 18:55
|
|||
---|---|---|---|
LINQ и group |
|||
#18+
Charles Weylandэм.. ну.. в вопросе у меня содержится запрос с группировкой и он корректен. Дык я переделал свой запрос, но что то не помогает: var mg = new [] { 1, 2, 3, 4, 5, 6, 7,2,4}; var QW = from ii in mg where ii > 1 group mg by ii into res select res; foreach(var per in QW) { MessageBox.Show("Переменная равна = :" + per.ToString()); } ... |
|||
:
Нравится:
Не нравится:
|
|||
|
28.05.2013, 19:04
|
|||
---|---|---|---|
|
|||
LINQ и group |
|||
#18+
medoedCharles Weylandэм.. ну.. в вопросе у меня содержится запрос с группировкой и он корректен. Дык я переделал свой запрос, но что то не помогает: var mg = new [] { 1, 2, 3, 4, 5, 6, 7,2,4}; var QW = from ii in mg where ii > 1 group mg by ii into res select res; foreach(var per in QW) { MessageBox.Show("Переменная равна = :" + per.ToString()); } per - это группа, для того, чтобы углубиться во внутрь этой группы и добраться до сгруппированных чисел, нужен второй for. Также ты можешь использовать distinct(), или, логичнее в твоём случае, First или Last ... |
|||
:
Нравится:
Не нравится:
|
|||
|
29.05.2013, 10:37
|
|||
---|---|---|---|
LINQ и group |
|||
#18+
Charles Weylandmedoedпропущено... Дык я переделал свой запрос, но что то не помогает: var mg = new [] { 1, 2, 3, 4, 5, 6, 7,2,4}; var QW = from ii in mg where ii > 1 group mg by ii into res select res; foreach(var per in QW) { MessageBox.Show("Переменная равна = :" + per.ToString()); } per - это группа, для того, чтобы углубиться во внутрь этой группы и добраться до сгруппированных чисел, нужен второй for. Также ты можешь использовать distinct(), или, логичнее в твоём случае, First или Last Переписал вот так, как вы советовали цифры стали выводиться, но почему то группировки нет... Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13.
... |
|||
:
Нравится:
Не нравится:
|
|||
|
29.05.2013, 10:59
|
|||
---|---|---|---|
|
|||
LINQ и group |
|||
#18+
Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14.
ну, самый топорный способ в данном случае - дописать break (дописал), и это будет работать. Но в мало-мальски приличном обществе за наличие break ругать будут. Но лучше вместо этого использовать per.First() -взять первый элемент из списка или per.Last() - взять последний элемент из списка разберись, как ... |
|||
:
Нравится:
Не нравится:
|
|||
|
29.05.2013, 11:01
|
|||
---|---|---|---|
|
|||
LINQ и group |
|||
#18+
А, и ещё, вместо Код: c# 1.
используй Код: c# 1.
и смотри результаты на панели "Вывод" (Output) ... |
|||
:
Нравится:
Не нравится:
|
|||
|
29.05.2013, 11:05
|
|||
---|---|---|---|
LINQ и group |
|||
#18+
Charles Weyland Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14.
ну, самый топорный способ в данном случае - дописать break (дописал), и это будет работать. Но в мало-мальски приличном обществе за наличие break ругать будут. Но лучше вместо этого использовать per.First() -взять первый элемент из списка или per.Last() - взять последний элемент из списка разберись, как Не работает - Выводится все время 1 (первый элемент). Расскажите, как хотя бы с этот запрос будет выглядеть? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
29.05.2013, 11:09
|
|||
---|---|---|---|
LINQ и group |
|||
#18+
medoed, Я имел в виду запрос с distinct ... |
|||
:
Нравится:
Не нравится:
|
|||
|
29.05.2013, 11:22
|
|||
---|---|---|---|
LINQ и group |
|||
#18+
medoed, Вроде получилось: Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14.
P.S. Извратно по первости кажется синтаксис Linq - а, по сравнению с T-sql; Pl-sql и т.д.. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
29.05.2013, 12:27
|
|||
---|---|---|---|
LINQ и group |
|||
#18+
medoedmedoed, Вроде получилось: Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14.
P.S. Извратно по первости кажется синтаксис Linq - а, по сравнению с T-sql; Pl-sql и т.д.. Вы либо пишите всю задачу, либо корректней ставьте условие. В вашем случае группировка не нужна. сделал бы так: Код: c# 1. 2.
... |
|||
:
Нравится:
Не нравится:
|
|||
|
29.05.2013, 12:37
|
|||
---|---|---|---|
LINQ и group |
|||
#18+
Если по неизвестной мне причине необходимо все-таки оставить группипорвку - вывод ключей без вложенного цикла: Код: c# 1. 2. 3. 4.
... |
|||
:
Нравится:
Не нравится:
|
|||
|
29.05.2013, 13:13
|
|||
---|---|---|---|
LINQ и group |
|||
#18+
LameUserЕсли по неизвестной мне причине необходимо все-таки оставить группипорвку - вывод ключей без вложенного цикла: Код: c# 1. 2. 3. 4.
Да задача проста - освоить основы LINQ, в частности группировку, поле одно - вывести уникальные значения и усё На SQL это вот так: Код: sql 1. 2. 3. 4. 5. 6. 7.
А ваш вариант без цикла не работает (см картинку): ... |
|||
:
Нравится:
Не нравится:
|
|||
|
29.05.2013, 15:06
|
|||
---|---|---|---|
LINQ и group |
|||
#18+
medoed, Странно, должно работать. Под какой фреймворк собираете? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
|
start [/forum/topic.php?fid=20&mobile=1&tid=1404604]: |
0ms |
get settings: |
8ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
64ms |
get topic data: |
9ms |
get forum data: |
3ms |
get page messages: |
54ms |
get tp. blocked users: |
1ms |
others: | 14ms |
total: | 173ms |
0 / 0 |