|
|
|
Запрос с группировкой
|
|||
|---|---|---|---|
|
#18+
Есть таблица TABLE с полями ID, DATE, PAYMENT c данными: ID DATE PAYMENT _ ______ _______ 1 17-JUN-18 100 2 18-JUN-18 50 2 19-JUN-18 50 3 20-JUN-18 45 4 21-MAY-18 100 4 22-MAY-18 50 Где ID-идентификатор клиента, DATE - дата платежа, PAYMENT - сумма платежа. Необходимо вывести последний платеж по каждому клиенту. Что бы получилось вот так: ID DATE PAYMENT _ ______ _______ 1 17-JUN-18 100 2 19-JUN-18 50 3 20-JUN-18 45 4 22-MAY-18 50 Запрос: select id, max(date), payment from table group by id, amount, payment order by 1 выдает: ID DATE PAYMENT _ ______ _______ 1 17-JUN-18 100 2 19-JUN-18 50 3 20-JUN-18 45 4 22-MAY-18 50 4 21-MAY-18 100 Как сделать, чтобы по 4-ому клиенту клиенту осталась только одна запись? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.10.2018, 22:57 |
|
||
|
Запрос с группировкой
|
|||
|---|---|---|---|
|
#18+
Piastry, Без payment получишь одну запись. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.10.2018, 23:19 |
|
||
|
Запрос с группировкой
|
|||
|---|---|---|---|
|
#18+
SkilledJuniorPiastry, Без payment получишь одну запись. Это я знаю, но только мне нужны данные с payment. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.10.2018, 23:21 |
|
||
|
Запрос с группировкой
|
|||
|---|---|---|---|
|
#18+
Piastry, Пары уникальных значений ID, DATE получил, дальше по ним нужно получить payment, есть скалярные подзапросы, есть join, есть in, пробуй. PS: а еще есть аналитические функции. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.10.2018, 23:29 |
|
||
|
Запрос с группировкой
|
|||
|---|---|---|---|
|
#18+
Ошибочка в запросе: select id, max(date), payment from table group by id, payment order by 1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.10.2018, 23:39 |
|
||
|
Запрос с группировкой
|
|||
|---|---|---|---|
|
#18+
Всем спасибо. Задача решена. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.10.2018, 00:29 |
|
||
|
Запрос с группировкой
|
|||
|---|---|---|---|
|
#18+
SkilledJuniorПары уникальных значений ID, DATE получил, дальше по ним нужно получить payment, есть скалярные подзапросы, есть join, есть in, пробуй. PS: а еще есть аналитические функции.Всё мимо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.10.2018, 07:29 |
|
||
|
Запрос с группировкой
|
|||
|---|---|---|---|
|
#18+
Piastrygroup by id, paymentPiastryЗадача решена.IQ ниже плинтуса. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.10.2018, 07:30 |
|
||
|
Запрос с группировкой
|
|||
|---|---|---|---|
|
#18+
Код: plsql 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.10.2018, 09:13 |
|
||
|
Запрос с группировкой
|
|||
|---|---|---|---|
|
#18+
Piastry... Необходимо вывести последний платеж по каждому клиенту. ... Как сделать ... Любым из понравившихся способов ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.10.2018, 10:02 |
|
||
|
Запрос с группировкой
|
|||
|---|---|---|---|
|
#18+
Piastry, Код: plsql 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. Еще так: Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. Единственное остается понять как поступать, когда один человек сделал два платежа, какой с них считать последним. Потому как первый выдаст 50 по ROWID первый, второй выдаст 75 как масимальный платеж за день, поэтому если такая ситуация возможна, то необходимо добавлять сортировку после order by dat desc, так как возможно надо брать 60??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.10.2018, 11:05 |
|
||
|
Запрос с группировкой
|
|||
|---|---|---|---|
|
#18+
julat21Единственное остается понять как поступать, когда один человек сделал два платежа, какой с них считать последним. Потому как первый выдаст 50 по ROWID первый, второй выдаст 75 как масимальный платеж за день, поэтому если такая ситуация возможна, то необходимо добавлять сортировку после order by dat desc, так как возможно надо брать 60??? Задача подразумевает уникальность id, date, поскольку более одного платежа по одному id в один день делают недостижимым требуемый результат - "Необходимо вывести последний платеж по каждому клиенту." ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.10.2018, 22:17 |
|
||
|
Запрос с группировкой
|
|||
|---|---|---|---|
|
#18+
ElicВсё мимо. Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. in Код: plsql 1. 2. 3. 4. скалярный подзапрос Код: plsql 1. 2. 3. 4. 5. join Код: plsql 1. 2. 3. 4. 5. 6. 7. PS: Код: plsql 1. 2. 3. 4. Что из этого мимо? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.10.2018, 22:35 |
|
||
|
Запрос с группировкой
|
|||
|---|---|---|---|
|
#18+
SkilledJuniorPS: аналитические функцииSkilledJunior Код: plsql 1. 2. Учись, студент, лучше. SkilledJuniorЧто из этого мимо?Всё бессмысленностью. Рекомендую поменьше сидеть перед зеркалом в самолюбовании. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2018, 07:41 |
|
||
|
Запрос с группировкой
|
|||
|---|---|---|---|
|
#18+
ElicУчись, студент, лучше. Код: plsql 1. 2. 3. 4. 5. Так лучше?)) ElicВсё бессмысленностью. Marvin? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2018, 19:23 |
|
||
|
Запрос с группировкой
|
|||
|---|---|---|---|
|
#18+
SkilledJunior Код: plsql 1. 2. 3. Так лучше?)) Нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2018, 19:39 |
|
||
|
Запрос с группировкой
|
|||
|---|---|---|---|
|
#18+
andrey_anonymousНет. Зато называется аналитикой)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2018, 19:44 |
|
||
|
Запрос с группировкой
|
|||
|---|---|---|---|
|
#18+
SkilledJuniorЗато называется аналитикой)) Да ну? Пойди покури доку на предмет аналитика и аггрегация: Aggregate functions return a single result row based on groups of rows. Analytic functions compute an aggregate value based on a group of rows. SY. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2018, 20:09 |
|
||
|
Запрос с группировкой
|
|||
|---|---|---|---|
|
#18+
SY, FIRSTIf you omit the OVER clause, then the FIRST and LAST functions are treated as aggregate functions. You can use these functions as analytic functions by specifying the OVER clause. The query_partition_clause is the only part of the OVER clause valid with these functions. If you include the OVER clause but omit the query_partition_clause, then the function is treated as an analytic function, but the window defined for analysis is the entire table. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2018, 20:18 |
|
||
|
Запрос с группировкой
|
|||
|---|---|---|---|
|
#18+
A, не заметил у тебя две версии c KEEP. SY. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2018, 21:50 |
|
||
|
Запрос с группировкой
|
|||
|---|---|---|---|
|
#18+
SkilledJuniorТак лучше?))Ты самовлюблённый дурак, если не понимаешь, что хуже. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2018, 07:27 |
|
||
|
Запрос с группировкой
|
|||
|---|---|---|---|
|
#18+
Такой селект устроит тописктартера? Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2018, 09:59 |
|
||
|
Запрос с группировкой
|
|||
|---|---|---|---|
|
#18+
Хотя ТС, наверно, уже сюда не заглядывает, раз написал, что задача решена. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2018, 10:05 |
|
||
|
Запрос с группировкой
|
|||
|---|---|---|---|
|
#18+
ultrasonic7, join уже был выше. Изящного варианта от Доброго Э - Эха еще не было Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2018, 14:12 |
|
||
|
|

start [/forum/topic.php?fid=52&msg=39723060&tid=1883282]: |
0ms |
get settings: |
7ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
146ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
64ms |
get tp. blocked users: |
1ms |
| others: | 217ms |
| total: | 469ms |

| 0 / 0 |
