Ниже для стандартного SQL BigQuery и работает для любого количества дополнительных полей в этой таблице без изменения запроса
#standardSQL
SELECT AS VALUE ARRAY_AGG(t ORDER BY joiningDate DESC LIMIT 1)[OFFSET(0)]
FROM `project.dataset.student` t
GROUP BY studentName
Вы можете протестировать, поиграть с вышеупомянутыми, используя фиктивные данные из вашего вопроса:
#standardSQL
WITH `project.dataset.student` AS (
SELECT 'Rosy'studentName, '2018-06-25' joiningDate UNION ALL
SELECT 'Meera', '2018-07-20' UNION ALL
SELECT 'Rosy', '2018-06-20'
)
SELECT AS VALUE ARRAY_AGG(t ORDER BY joiningDate LIMIT 1)[OFFSET(0)]
FROM `project.dataset.student` t
GROUP BY studentName
с результатом
Row studentName joiningDate
1 Rosy 2018-06-25
2 Meera 2018-07-20