Ostatni rekord z wybranej grupy kont klientów

0

Cześć. Mam taką zagwozdkę ze zrobieniem zapytania o ostatni rekord z połaczeń wybranych klientów operatora GSM.
Jest tabela ze wszystkimi połączeniami klientów danego operatora GSM. Tabela to CLIENT_EVENTS.
W tabeli CLIENT_EVENTS odkładają się w kolumnach wartości:
ID, DATA, CLIENT_ID, CLIENT_NAME, BALANCE.

I teraz tak:

  • mam znaleźć z wybranych CLIENT_ID gdzie są: 'phone:xxx', 'phone:yyy', 'phone:zzz', ostatni rekord każdego z tych klientów aby zobaczyć stan jego salda (BALANCE) po ostatnim połaczeniu
  • z jednym klientem nie ma problemu, ale jeśli mam tylko wybranych to nie umiem sobie poradzić

Wynikowo chce uzyskać coś jak niżej, gdzie są najnowsze rekordy z widokiem BALANCE każdego z klientów, po ostatnim połączeniu
ID, DATA, CLIENT_ID, CLIENT_NAME, BALANCE_PLN
2333, 03-11-2023,phone:xxx, Jan Kowalski, 750
2300, 02-11-2023,phone:yyy, Jan Nowak, 300
2233, 05-10-2023,phone:zzz, Jan Król, 400

Z góry dzięki za pomoc!

1
WITH CTE AS (
  SELECT
    ID,
    DATA,
    CLIENT_ID,
    CLIENT_NAME,
    BALANCE_PLN,
    ROW_NUMBER() OVER (PARTITION BY CLIENT_ID ORDER BY DATA DESC) AS rn
  FROM your_table_name
)
SELECT
  ID,
  DATA,
  CLIENT_ID,
  CLIENT_NAME,
  BALANCE_PLN
FROM CTE
WHERE rn = 1;

Coś takiego?

1 użytkowników online, w tym zalogowanych: 0, gości: 1