У меня есть таблица в SQL Server. Он имеет поле pid, используемое в качестве первичного ключа, и поле с именем deviceid, которое имеет имя устройства. Пример:
pid deviceid field3 field4
1 Device1 test test
2 Device2 test2 test2
3 Device1 test3 test3
4 Device2 test4 test4
Для запроса мне нужно выбрать * из таблицы, где pid - это максимум на устройство.
Пример результата:
pid deviceid field3 field4
3 Device1 test3 test3
4 Device2 test4 test4
Я не уверен, как это сделать. У кого-нибудь есть идеи?
Самое близкое, что у меня было:
Select MAX(pid) from TheTable Group By deviceid;
Это работает, но это дает мне максимальный pid на устройство в результатах, и мне нужно все поля для этой записи. Добавление других полей в предложение select привело к ошибкам, указав, что поля должны быть перечислены в предложении group by ... Кто-нибудь знает, как это сделать?