Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Группировка по сложному условию
|
|||
|---|---|---|---|
|
#18+
Добрый день! Гуру форума, прошу помощи:) Вот уже несколько дней не могу придумать скрипт для следующих задач: В таблице есть поля: Date (type: datetime), Payer, Receiver, Amount,... 1. Нужно вывести все строки, для которых существует строка с теми же значениями Payer, Receiver и разницей в Date не более 24-х часов. 2. То же самое, но у строки должно быть > 1 совпадения по Payer, Receiver. Задачу немного проще, где нужно просто найти больше двух совпадений по Date, Payer, Receiver (в базе за июнь 2018), решил след образом: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.07.2018, 09:44 |
|
||
|
Группировка по сложному условию
|
|||
|---|---|---|---|
|
#18+
PyotrL1. Нужно вывести все строки, для которых существует строка с теми же значениями Payer, Receiver и разницей в Date не более 24-х часов.Существует по-английски - exists. Вот в сторону EXISTS-подзапроса и смотрите. PyotrL2. То же самое, но у строки должно быть > 1 совпадения по Payer, Receiver.тоже самое, но в EXISTS-подзапросе - группировка и HAVING. Либо, как универсальный вариант на оба случая - [CROSS | OUTER] APPLY-подзапрос с нужно логикой внутри ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.07.2018, 09:55 |
|
||
|
Группировка по сложному условию
|
|||
|---|---|---|---|
|
#18+
1 Код: sql 1. 2. 2 Код: sql 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.07.2018, 09:58 |
|
||
|
Группировка по сложному условию
|
|||
|---|---|---|---|
|
#18+
court1 Код: sql 1. 2. 2 Код: sql 1. 2. дай угадаю: выдаст все записи ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.07.2018, 10:02 |
|
||
|
Группировка по сложному условию
|
|||
|---|---|---|---|
|
#18+
TaPaKcourt1 Код: sql 1. 2. 2 Код: sql 1. 2. дай угадаю: выдаст все записиага :) ТС, еще в подзапросе условие нужно добавить t1.PK<>t2.PK ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.07.2018, 10:03 |
|
||
|
Группировка по сложному условию
|
|||
|---|---|---|---|
|
#18+
court, спасибо за ответ! как результат получу, отпишусь:) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.07.2018, 12:17 |
|
||
|
Группировка по сложному условию
|
|||
|---|---|---|---|
|
#18+
Еще раз мерси, результат дает нужный, на базе 60 млн. отрабатывает за 2 часа. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.07.2018, 18:57 |
|
||
|
Группировка по сложному условию
|
|||
|---|---|---|---|
|
#18+
PyotrLна базе 60 млн. отрабатывает за 2 часа. Индексы? Почитайте в BOL о специфическом поведении DATEDIFF Код: sql 1. Код: sql 1. Я бы порекомендовал превратить условие в диапазон Код: sql 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.07.2018, 10:27 |
|
||
|
|

start [/forum/topic.php?fid=46&fpage=142&tid=1689397]: |
0ms |
get settings: |
10ms |
get forum list: |
24ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
44ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
66ms |
get tp. blocked users: |
2ms |
| others: | 240ms |
| total: | 410ms |

| 0 / 0 |
