次のような構造のデータベース テーブルがあります。
id (PK - identity, integer)
NPI (varchar)
lastname (varchar)
firstname (varchar)
city (varchar)
state (varchar)
テーブルの性質上、一部の NPI はテーブルに 2 回または N 回含まれています。
他のパラメーターを指定して、最新の NPI (最大 ID を持つもの) を選択しようとしています。
私はできる
select * from NPI where id = (select max(id) from NPI where NPI = 'xxxx')
しかし、これは都市/州などの他の情報をもたらしません。
私はこのようなことをしたいと思います:
SELECT NPI from NPI where id = (select max(id) from npi where city = 'city')
ただし、これはもちろん1行のみを返します。これは、その都市からの最新のNPIです。
その都市からすべてのレコードを返し、最新の NPI のみを返すにはどうすればよいですか?