|  | 
| 
Ступор в построении запроса | |||
|---|---|---|---|
| #18+ Всем привет, базы не мой основной профиль, застрял на одном вопросе, предполагаю что все должно быть просто но никак не соберусь с мыслями чтобы реализовать. Допустим есть Код: sql 1. Мне нужно сгруппировать данные таким образом, чтобы узнать какая пара между собой сделала больше всего подарков, т.е. мне надо sum(*) where a.sender = b.recipient or a.recipient = b.sender Я написал набрсоок поделки, но он нещадно тупит. Код: sql 1. Так вот, может кто знает как правильно называются такие запросы, я даже сформулировать нормально не могу, чтобы погуглить. Буду рад любой помощи(а работающему запросу безмерно рад) ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 28.07.2019, 11:22 |  | ||
| 
Ступор в построении запроса | |||
|---|---|---|---|
| #18+ база Postgres, количество записей пока полмиллиона, медленно растет, но не сильно, это данные где-то за 10 лет ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 28.07.2019, 11:23 |  | ||
| 
Ступор в построении запроса | |||
|---|---|---|---|
| #18+ Код: sql 1. Не помню точно название функции, но идею ты должен понять. ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 28.07.2019, 12:23 |  | ||
| 
Ступор в построении запроса | |||
|---|---|---|---|
| #18+ Вспомнил Код: sql 1. ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 28.07.2019, 12:29 |  | ||
| 
Ступор в построении запроса | |||
|---|---|---|---|
| #18+ Не знаю, используются ли они для нечисловых переменных. ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 28.07.2019, 12:31 |  | ||
| 
Ступор в построении запроса | |||
|---|---|---|---|
| #18+ Навскидку как-то так   Код: sql 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. ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 28.07.2019, 12:51 |  | ||
| 
Ступор в построении запроса | |||
|---|---|---|---|
| #18+ Спасибо ребята, все взлетело. А я 3 часа никак не мог сообразить) ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 28.07.2019, 13:10 |  | ||
| 
Ступор в построении запроса | |||
|---|---|---|---|
| #18+ select * from ( select sender, resipient, cnt, max(cnt) over () m from ( select sender, resipient, count(*) cnt from gifts group by sender, resipient ) ) where cnt = m ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 28.07.2019, 14:01 |  | ||
| 
Ступор в построении запроса | |||
|---|---|---|---|
| #18+ В догонку.  Запрос проверен в Оракле. Но Постгри вроде имеет родственный язык БД. Запрос вернет несколько записей, если несколько пар сделали больше всего подарков, но совпадают между собой. Например, несли наибольшее число 10. И две пары сделали по 10, то оде окажутся в результате. Запрос имеет и аналитическую ф-ю и групповую. Но они обе для аналитических отчетов. ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 28.07.2019, 14:07 |  | ||
| 
Ступор в построении запроса | |||
|---|---|---|---|
| #18+ вдогонку. На основном компе буфер обмена с браузером не работает (Вин 10), на втором не все клавиши нажимаются. Поэтому один ответ пришлось разбить на два. ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 28.07.2019, 14:10 |  | ||
|  | 

| start [/forum/topic.php?fid=32&fpage=5&tid=1539924]: | 0ms | 
| get settings: | 9ms | 
| get forum list: | 12ms | 
| check forum access: | 3ms | 
| check topic access: | 3ms | 
| track hit: | 41ms | 
| get topic data: | 11ms | 
| get forum data: | 2ms | 
| get page messages: | 48ms | 
| get tp. blocked users: | 2ms | 
| others: | 13ms | 
| total: | 144ms | 

| 0 / 0 | 
