Слишком много для комментария.
Этот запрос отфильтрует все строки, в которых все значений совпадают:
$data = Query "SELECT DISTINCT [server_name]
,[sessionID]
,[user]
,[ElapsedTime]
from table"
$data | Export-Csv -Path $Path\data.csv -NoTypeInformation
Если любой столбец имеет другое значение, вы получите две (или более) записи.
EDIT
С другой стороны, если вам нужна только одна запись на sessionID
, этот запрос вернет именно это. ROW_NUMBER()
в ORDER BY
требует внутреннего предложения ORDER BY
, но, похоже, вам все равно, по какому принципу он сортируется, так что это, по сути, случайный порядок перехода к одной строке.
$data = Query "SELECT TOP (1) WITH TIES [server_name]
,[sessionID]
,[user]
,[ElapsedTime]
from table
ORDER BY ROW_NUMBER() OVER (PARTITION BY sessionID ORDER BY update_time DESC) "
$data | Export-Csv -Path $Path\data.csv -NoTypeInformation
2-е РЕДАКТИРОВАНИЕ : добавлен update_time
к критериям сортировки.