Ниже для BigQuery Standrad SQL
#standardSQL
WITH `project.dataset.your_table` AS (
SELECT 1 id, 1000 start, 1001 `end`, 'ABC1' name, 'A' code UNION ALL
SELECT 1, 1000, 1001, 'FSD1', 'B' UNION ALL
SELECT 2, 1200, 1201, 'CC12', 'A' UNION ALL
SELECT 3, 4000, 4002, 'GF41', 'B' UNION ALL
SELECT 3, 4000, 4002, 'ML65', 'A'
)
SELECT
id, start, `end`,
ARRAY_AGG(STRUCT(name, code) ORDER BY code DESC LIMIT 1)[OFFSET(0)].*
FROM `project.dataset.your_table`
GROUP BY id, start, `end`
-- ORDER BY id
результат должен быть
Row id start end name code
1 1 1000 1001 FSD1 B
2 2 1200 1201 CC12 A
3 3 4000 4002 GF41 B
Альтернативный вариант с тем же результатом, но может быть полезен, если в вашей таблице есть другие / другие поля, которые необходимо включить в вывод
#standardSQL
WITH `project.dataset.your_table` AS (
SELECT 1 id, 1000 start, 1001 `end`, 'ABC1' name, 'A' code UNION ALL
SELECT 1, 1000, 1001, 'FSD1', 'B' UNION ALL
SELECT 2, 1200, 1201, 'CC12', 'A' UNION ALL
SELECT 3, 4000, 4002, 'GF41', 'B' UNION ALL
SELECT 3, 4000, 4002, 'ML65', 'A'
)
SELECT row.*
FROM (
SELECT ARRAY_AGG(t ORDER BY code DESC LIMIT 1)[OFFSET(0)] row
FROM `project.dataset.your_table` t
GROUP BY id, start, `end`
)
-- ORDER BY id