Что вам нужно посмотреть, так это наибольшее значение идентификатора для группы account_id и asset_type_id
ВЫБЕРИТЕ МАКС. (ID), account_id, asset_type_id ОТ группы проводок по account_id, asset_type_id;
Таблица
id | account_id | asset_type_id
1 | 1 | 1
2 | 2 | 1
3 | 1 | 2
4 | 2 | 1
5 | 2 | 2
6 | 2 | 2
После группы
id | account_id | asset_type_id
1 | 1 | 1
2,4 | 2 | 1
3 | 1 | 2
5,6 | 2 | 2
После Макс
id | account_id | asset_type_id
1 | 1 | 1
3 | 1 | 2
4 | 2 | 1
6 | 2 | 2
EDIT:
Q2: Как выполнить этот запрос без использования всей таблицы?
Оператор выбора SQL имеет несколько этапов, которые выполняются в определенном порядке, каждый из которых создает временную таблицу ввода для следующего этапа.
(5) SELECT (5-2) DISTINCT (5-3) TOP (<top specification>)
(5-1) <select clauses>
(1) FROM (1-J) <left table> <connection type> JOIN <right table> ON <predicates of on clause>
<alias>
(2) WHERE <predicates of where clause>
(3) GROUP BY <grouping specification>
(4) HAVING <predicates of having clause>
(6) ORDER BY <list specifying the order>
Поскольку вы видите, что первым шагом является FROM, который в вашем случае представляет собой одну таблицу, тогда мы переходим к WHERE, поэтому, когда вы добавите сюда некоторые предикаты, например account_id between 1 and 10 AND asset_type_id between 1 and 10
, вы будете работать только с этим куском таблицы на шаге 3 это группа по.