|
Сравнение строк между собой
|
|||
---|---|---|---|
#18+
Всем привет. Народ, у меня вот такой вопрос. Есть таблица (на скриншоте). Помогите пожалуйста составить правильный SQL-запрос, чтобы получить вот что: Мне нужно получить динамику изменения среднего значения поля points за 1 день. Например есть отдел: "Отдел обеспечения ЭДО". У этого отдела среднее значение поля points за 27.12.2018 равно 1 29.12.2018 равно -0.5 09.01.2018 равно 1 Мне надо как то в будущем на веб-странице вывести динамику изменения этого числа - ну то есть по сравнению с предыдущим днём это число "выросло", или "Упало", или "Стоит на месте". Ну и стрелку "вверх" или "вниз" соответственно добавить. Я думаю что нужно в запрос какое то дополнительное поле ввести (флаг), которое показывало бы, ростёт ли это число, падает, или стоит на месте. Сейчас у меня вот такой запрос есть: Select dep_name as 'Отдел', Sum(points)/count(points) as 'Средний балл за день', points as 'Оценка', date as 'Дата' From nps Where dep_id=218 Group by date Но как его сделать так, чтобы было сравнение поля 'Средний балл за день' скажем за 27.12.2018 с тем же самым полем, но за 29.12.2018 ? Помогите пожалуйста, кто знает. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.01.2019, 09:56 |
|
Сравнение строк между собой
|
|||
---|---|---|---|
#18+
Получите в CTE среднее за день (кстати, можно сразу использовать AVG(), не надо делить SUM() на COUNT()), потом пронумеруйте в группе по отделу с сортировкой по дате, и в запросе выведите пары записей, для которых номер отличается на единицу. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.01.2019, 10:27 |
|
Сравнение строк между собой
|
|||
---|---|---|---|
#18+
Что такое CTE ? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.01.2019, 10:38 |
|
Сравнение строк между собой
|
|||
---|---|---|---|
#18+
Что-то вообще не получается, или Битрикс ограничения какие то на SQL-запросы накладывает. Сейчас вот это сделал: Код: sql 1. 2. 3.
например для отдела "отдел обеспечения ЭДО" - 3 записи. Для записи от 09.01.2018 мне надо вычислить разницу поля "Средний балл за день" за эта дату, и за предыдущий день (29.12.2018). Это будет 1- (-0,5) = 1.5 Это число 1.5 мне надо как то привязать к записи от 09.01.2018 т.к. именно у этого дня показатель вырос. Соответственно для записи от 29.12.2018 это число -0.5 - 1 = -1.5 и оно будет привязано к записи от 29.12.2018 А у записи от 27.12.2018 такого числа не будет, т.к. это самая старая запись, и её сравнить не с чем. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.01.2019, 14:37 |
|
Сравнение строк между собой
|
|||
---|---|---|---|
#18+
Вот скриншот ... |
|||
:
Нравится:
Не нравится:
|
|||
09.01.2019, 14:38 |
|
|
start [/forum/topic.php?fid=47&fpage=41&tid=1829378]: |
0ms |
get settings: |
10ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
43ms |
get topic data: |
12ms |
get forum data: |
2ms |
get page messages: |
49ms |
get tp. blocked users: |
2ms |
others: | 304ms |
total: | 443ms |
0 / 0 |