|
Сложный LINQ запрос
|
|||
---|---|---|---|
#18+
Доброго дня! Имеются такие классы: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49.
Код: plaintext
OPTagOPDateTimeValuetag118.04.2011 08:00:00.000250tag218.04.2011 08:00:00.0001000tag318.04.2011 08:00:00.00010tag118.04.2011 08:00:01.000260tag218.04.2011 08:00:01.0001050tag318.04.2011 08:00:01.00011tag118.04.2011 08:00:02.000255tag218.04.2011 08:00:02.0001080tag318.04.2011 08:00:02.0009.........tag118.04.2011 08:03:00.000240tag218.04.2011 08:03:00.0001010tag318.04.2011 08:03:00.00012tag118.04.2011 08:03:01.000245tag218.04.2011 08:03:01.0001050tag318.04.2011 08:03:01.00013tag118.04.2011 08:03:02.000270tag218.04.2011 08:03:02.0001070tag318.04.2011 08:03:02.00014......... Используя класс OPData так: Код: plaintext
IDTAGNameMIN_VALUEMAX_VALUE101tag1Parameter1200300102tag2Parameter29001100103tag3Parameter3nullnull то есть MIN_VALUE и MAX_VALUE могут быть null, т.е. не задан интервал. Вопрос: Используя LINQ необходимо получить на выходе усредненное 3-х минутное значение то есть брать интервал в 3 минуты с 00:00 до 00:03, 00:06 и т.д. и среднее находить так если указаны MIN_VALUE и MAX_VALUE - брать только те значения которые в заданном интервале, если не заданы, то брать все значения. То есть надо в результате получить что-то в виде: IDTAGNameDateTimeValue101tag1Parameter118.04.2011 08:00:00.000255102tag2Parameter218.04.2011 08:00:00.0001043.33103tag3Parameter318.04.2011 08:00:00.00010101tag1Parameter118.04.2011 08:03:00.000251.66102tag2Parameter218.04.2011 08:03:00.0001043.33103tag3Parameter318.04.2011 08:03:00.00013............... Как это можно записать на LINQ? Спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.04.2011, 12:44 |
|
Сложный LINQ запрос
|
|||
---|---|---|---|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51.
... |
|||
:
Нравится:
Не нравится:
|
|||
18.04.2011, 21:43 |
|
Сложный LINQ запрос
|
|||
---|---|---|---|
#18+
wcf.net.ru у вас left join, а надо left outer join, если не будет записи в таблице ограничений, то для такого тега не будет результата у вас немного другой подход Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38.
... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2011, 10:53 |
|
Сложный LINQ запрос
|
|||
---|---|---|---|
#18+
stimpiу вас left join, а надо left outer join, если не будет записи в таблице ограничений, то для такого тега не будет результата у вас Да, не будет. Потому что у меня inner join, как ТС и просил - посмотрите внимательно на пример данных, которые надо в результате получить. PS: А разница между left join и left outer join только в наличии опционального слова "outer" ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2011, 11:27 |
|
Сложный LINQ запрос
|
|||
---|---|---|---|
#18+
Тут еще один нюанс, я конечное дико извиняюсь, но я не правильно интервалы 3-х минуток указал. Вот так должно быть правильно: данные что лежат в интервале с 07:57:00.000 до 08:00:00.000 - среднее со временем 08:00:00.000, с 08:00:00.000 до 08:03:00.000 - среднее со временем 08:03:00.000, с 08:03:00.000 до 08:06:00.000 - среднее со временем 08:06:00.000, ...., с 08:57:00.000 до 09:00:00.000 - среднее со временем 09:00:00.000 . Спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2011, 14:56 |
|
Сложный LINQ запрос
|
|||
---|---|---|---|
#18+
renatonCпасибо. При выводе результата вычти 3 минуты ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2011, 16:22 |
|
Сложный LINQ запрос
|
|||
---|---|---|---|
#18+
wcf.net.ruДа, не будет. Потому что у меня inner join, как ТС и просил - посмотрите внимательно на пример данных, которые надо в результате получить. читаем внимательно renaton брать только те значения которые в заданном интервале, если не заданы, то брать все значения wcf.net.ruPS: А разница между left join и left outer join только в наличии опционального слова "outer" разница между "правпильно" и "неправильно" , всего лишь в суффиксе НЕ ) ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2011, 18:52 |
|
Сложный LINQ запрос
|
|||
---|---|---|---|
#18+
stimpiчитаем внимательно renatonбрать только те значения которые в заданном интервале, если не заданы, то брать все значения читаем еще внимательней renatonТо есть надо в результате получить что-то в виде: IDTAGNameDateTimeValue101tag1Parameter118.04.2011 08:00:00.000255102tag2Parameter218.04.2011 08:00:00.0001043.33103tag3Parameter318.04.2011 08:00:00.00010101tag1Parameter118.04.2011 08:03:00.000251.66102tag2Parameter218.04.2011 08:03:00.0001043.33103tag3Parameter318.04.2011 08:03:00.00013 где тут хотя бы один пример без ID/Name ??? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2011, 19:02 |
|
Сложный LINQ запрос
|
|||
---|---|---|---|
#18+
Верблюд, Троеточие где съели ? ) Читаем более чем еще внимательней выделенное мною жириным. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2011, 19:08 |
|
Сложный LINQ запрос
|
|||
---|---|---|---|
#18+
stimpiВерблюд, Троеточие где съели ? ) Читаем более чем еще внимательней выделенное мною жириным. Я лично общался с ТС по email и лучше тебя знаю в чем суть вопроса ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2011, 19:10 |
|
Сложный LINQ запрос
|
|||
---|---|---|---|
#18+
Где сказано, что не надо выводить усредненое, если нет интервала по тегу в таблице интервалов ? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2011, 19:10 |
|
Сложный LINQ запрос
|
|||
---|---|---|---|
#18+
stimpiwcf.net.ruPS: А разница между left join и left outer join только в наличии опционального слова "outer" разница между "правпильно" и "неправильно" , всего лишь в суффиксе НЕ ) 1. между "правпильно" и "неправильно" разница больше чем в суффиксе "не" - там еще буква "п" затесалась. 2. между left join и left outer join разница только в написании - по смыслу это одно и тоже действие с точностью 100%. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2011, 19:11 |
|
Сложный LINQ запрос
|
|||
---|---|---|---|
#18+
ВерблюдstimpiВерблюд, Троеточие где съели ? ) Читаем более чем еще внимательней выделенное мною жириным. Я лично общался с ТС по email и лучше тебя знаю в чем суть вопроса вот так баги, "ака фичи" появляются ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2011, 19:12 |
|
Сложный LINQ запрос
|
|||
---|---|---|---|
#18+
держи ВерблюдrenatonCпасибо. При выводе результата вычти 3 минуты не правильно, надо добавлять на выходе, а не вычитать ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2011, 19:14 |
|
Сложный LINQ запрос
|
|||
---|---|---|---|
#18+
stimpiВерблюдпропущено... Я лично общался с ТС по email и лучше тебя знаю в чем суть вопроса вот так баги, "ака фичи" появляются Еще раз. Это не баги и не фичи. Это просто факт, что для каждого tagN существует запись в таблице. ЗЫЖ Многоточие кстати, на null очень сильно не похоже. Это так навсякий ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2011, 19:15 |
|
Сложный LINQ запрос
|
|||
---|---|---|---|
#18+
stimpiдержи Верблюдпропущено... При выводе результата вычти 3 минуты не правильно, надо добавлять на выходе, а не вычитать Не суть важно. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2011, 19:15 |
|
Сложный LINQ запрос
|
|||
---|---|---|---|
#18+
ВерблюдЕще раз. Это не баги и не фичи. Это просто факт, что для каждого tagN существует запись в таблице. ЗЫЖ Многоточие кстати, на null очень сильно не похоже. Это так навсякий ага и фраза renatonТо есть надо в результате получить что-то в виде: что-то не сильно на последнюю интстанцию о правильности говорит. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2011, 19:16 |
|
Сложный LINQ запрос
|
|||
---|---|---|---|
#18+
Верблюдstimpiдержи пропущено... не правильно, надо добавлять на выходе, а не вычитать Не суть важно. спасибо, посмеялся ) ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2011, 19:17 |
|
Сложный LINQ запрос
|
|||
---|---|---|---|
#18+
stimpiчто-то не сильно на последнюю интстанцию о правильности говорит. Я думаю что Ренат сам дальше с запросом разберется, если что вдруг не так. В любом случае его не конкретное решение интересовало, а то, как это должно выглядеть будучи написаным на LINQ. Если внимательно посмотреть, то там все расписано и по полочкам разложено даже с коментариями, что бы потом можно было под реальную задачу адаптировать. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2011, 19:27 |
|
Сложный LINQ запрос
|
|||
---|---|---|---|
#18+
Не могу сделать группировку :( Помогите пожалуйста... ... |
|||
:
Нравится:
Не нравится:
|
|||
20.04.2011, 08:01 |
|
Сложный LINQ запрос
|
|||
---|---|---|---|
#18+
Вот здесь: Код: plaintext
... |
|||
:
Нравится:
Не нравится:
|
|||
20.04.2011, 08:14 |
|
Сложный LINQ запрос
|
|||
---|---|---|---|
#18+
renatonВот здесь: Код: plaintext
омфг, что тут еще-то объяснять, даты приводятся к вашим диапазонам, отнимаются минуты и секунды у всех дат чтоб они подходили к вашим отметкам с интервалом в 3, только опять же бага тут если у времени будут милисекунды, они тут не вычитываются ... |
|||
:
Нравится:
Не нравится:
|
|||
20.04.2011, 11:59 |
|
Сложный LINQ запрос
|
|||
---|---|---|---|
#18+
осмотрите мой вариант, может понятней будет, там другой подход к группировке ... |
|||
:
Нравится:
Не нравится:
|
|||
20.04.2011, 12:00 |
|
Сложный LINQ запрос
|
|||
---|---|---|---|
#18+
stimpiомфг, что тут еще-то объяснять, даты приводятся к вашим диапазонам, отнимаются минуты и секунды у всех дат чтоб они подходили к вашим отметкам с интервалом в 3, только опять же бага тут если у времени будут милисекунды, они тут не вычитываются хмм.... у меня данные могуть быть и с ненулевым значением миллисекунды, т.е. может быть 20.04.2011 12:00:00.015. Надо и такие данные тоже учитывать в выборке. Спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.04.2011, 12:12 |
|
|
start [/forum/topic.php?fid=17&fpage=24&tid=1349965]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
38ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
137ms |
get tp. blocked users: |
2ms |
others: | 15ms |
total: | 236ms |
0 / 0 |