|
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:30 |
|
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:40 |
|
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:43 |
|
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:46 |
|
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, 18:55 |
|
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 ... |
|||
:
Нравится:
Не нравится:
|
|||
28.05.2013, 19:04 |
|
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:37 |
|
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, 10:59 |
|
LINQ и group
|
|||
---|---|---|---|
#18+
А, и ещё, вместо Код: c# 1.
используй Код: c# 1.
и смотри результаты на панели "Вывод" (Output) ... |
|||
:
Нравится:
Не нравится:
|
|||
29.05.2013, 11:01 |
|
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:05 |
|
LINQ и group
|
|||
---|---|---|---|
#18+
medoed, Я имел в виду запрос с distinct ... |
|||
:
Нравится:
Не нравится:
|
|||
29.05.2013, 11:09 |
|
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, 11:22 |
|
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:27 |
|
LINQ и group
|
|||
---|---|---|---|
#18+
Если по неизвестной мне причине необходимо все-таки оставить группипорвку - вывод ключей без вложенного цикла: Код: c# 1. 2. 3. 4.
... |
|||
:
Нравится:
Не нравится:
|
|||
29.05.2013, 12:37 |
|
LINQ и group
|
|||
---|---|---|---|
#18+
LameUserЕсли по неизвестной мне причине необходимо все-таки оставить группипорвку - вывод ключей без вложенного цикла: Код: c# 1. 2. 3. 4.
Да задача проста - освоить основы LINQ, в частности группировку, поле одно - вывести уникальные значения и усё На SQL это вот так: Код: sql 1. 2. 3. 4. 5. 6. 7.
А ваш вариант без цикла не работает (см картинку): ... |
|||
:
Нравится:
Не нравится:
|
|||
29.05.2013, 13:13 |
|
LINQ и group
|
|||
---|---|---|---|
#18+
medoed, Странно, должно работать. Под какой фреймворк собираете? ... |
|||
:
Нравится:
Не нравится:
|
|||
29.05.2013, 15:06 |
|
|
start [/forum/topic.php?fid=20&msg=38277345&tid=1404604]: |
0ms |
get settings: |
9ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
66ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
47ms |
get tp. blocked users: |
1ms |
others: | 326ms |
total: | 480ms |
0 / 0 |