Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Группировка с условием по полю
|
|||
|---|---|---|---|
|
#18+
Здравствуйте. Помогите пожалуйста с SQL запросом. Имеется таблица для статиститки звонков такого вида Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. Где guid - это идентификатор всего звонка, а sip_call_id - это идентификатор части звонка, т.е. в таблице есть несколько записей с одним sip_call_id и у них у всех guid одинаковый. Раньше на sip_call_id внимания не обращали и выбирали примерно таким запросом: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. Теперь же нужно в выборке получать тот sip_call_id, у которого длительность(duration) была больше. Вот пример того, что возвращает запрос выше: Код: sql 1. 2. 3. 4. 5. А вот что есть всего в таблице по данному звонку Код: sql 1. 2. 3. 4. 5. 6. 7. Т.е. в сжатом виде у меня должен быть sip_call_id 4724b7f2-742c-474d-8737-40dad65c1319, т.к. у него длительность 4, а я получаю fd9db4d1-31bc-4a83-bb84-6ad82b12bc01 Впорос: как задать дополнительное условие для поля, чтобы оно выбиралось в зависимости от другого поля в сгруппированном запросе? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.06.2018, 15:28 |
|
||
|
Группировка с условием по полю
|
|||
|---|---|---|---|
|
#18+
Если я правильно понял задачу, то как-то так: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. Получите все поля из той записи, где duration наибольший. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.06.2018, 15:48 |
|
||
|
Группировка с условием по полю
|
|||
|---|---|---|---|
|
#18+
miksoft, Не совсем так. Данные нужно сгруппировать по полям Код: sql 1. но поле sip_call_id взять из той части сгруппированных данных, в которых duration наибольший. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.06.2018, 15:51 |
|
||
|
Группировка с условием по полю
|
|||
|---|---|---|---|
|
#18+
noizeДанные нужно сгруппировать по полямЗачем? Они могут различаться в пределах одного guid? Кстати, в моем варианте надо выкинуть строчку с COUNT, она осталась от копирования. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.06.2018, 17:49 |
|
||
|
Группировка с условием по полю
|
|||
|---|---|---|---|
|
#18+
miksoftОни могут различаться в пределах одного guid? Да, в рамках одного guid может быть несколько одинаковых sip_call_id ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.06.2018, 12:16 |
|
||
|
Группировка с условием по полю
|
|||
|---|---|---|---|
|
#18+
noize, Т.е. в результате нужно получить несколько записей с конкретным значением guid и с разными значениями полей sip_call_id, `setup_time`, `CLI`, `CLD`, `dev_type`, `call_type`, `called_name`? Лучше приведите максимально расширенный реалистичный пример исходных данных и желаемого результата. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.06.2018, 12:45 |
|
||
|
|

start [/forum/topic.php?fid=47&gotonew=1&tid=1829815]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
43ms |
get topic data: |
12ms |
get first new msg: |
10ms |
get forum data: |
3ms |
get page messages: |
46ms |
get tp. blocked users: |
1ms |
| others: | 248ms |
| total: | 392ms |

| 0 / 0 |
