Как сформулировать запрос к бд?

tableName:
field1;field2;field3
1;21;1
1;45;2
1;23;3
2;34;4
2;23;5
3;52;6
3;52;7
3;13;8
3;26;9

Как получить строки с наименьшими значениями второго столбца по каждому уникальному значению первого столбца?

То есть:

1;21;1
2;23;5
3;13;8

Ответы (1 шт):

Автор решения: Alexey R.

Такой запрос:

select tbl1.* 
  from test_tbl tbl1
  inner join (
    select tbl2.field1, min(tbl2.field2) field2 
    from test_tbl tbl2 
    group by tbl2.field1
  ) tbl3
  on tbl1.field1 = tbl3.field1 and tbl1.field2 = tbl3.field2;

Тест можно посмотреть тут.

→ Ссылка