2017-07-03 11 views
-4

select文から返されたいくつかの行を操作しようとしています。不要な行を返すSQLクエリ

私は照会している人物として複数の行を取得していますが、内部の宿泊施設(同じサイト内の住居)を移動しましたが、サイト自体が変更された場合にのみ返却します。

たとえば、私は...この例では

+------------+-------+------------+ 
| LocationlD | Site | MovedDate | 
+------------+-------+------------+ 
|   1 | York | 01/01/2011 | 
|   3 | York | 02/01/2011 | 
|   2 | Leeds | 05/05/2011 | 
+------------+-------+------------+ 

、サイトが変更されていないとして、私は、最初のニューヨークエントリ場合、見たい、そしてリーズエントリうすべてを取得しています。

を使用でき
+0

データベースにどのように問い合わせましたか? – skm

+0

ご質問、データベース構造、サンプルデータ、期待される出力を教えてください。それから私たちは助けることができます。 – HoneyBadger

+1

「最小限で完全で検証可能なサンプルを作成する方法」をお読みください。https://stackoverflow.com/help/mcve –

答えて

0

:2005年から

SELECT A.LOCATIONLD, A.SITE, A.MOVEDDATE 
FROM YOURTABLE A 
INNER JOIN (SELECT SITE, MIN(MOVEDDATE) AS MOVEDDATE_MIN 
      FROM YOURTABLE 
      GROUP BY SITE) B ON A.SITE = B.SITE AND A.MOVEDDATE = B.MOVEDDATE_MIN; 

またはMSSQLで

SELECT LOCATIONLD, SITE, MOVEDDATE 
FROM (
    SELECT LOCATIONLD, SITE, MOVEDDATE 
    , ROW_NUMBER() OVER (PARTITIONED BY SITE ORDER BY MOVEDDATE DESC) AS RN 
    FROM YOURTABLE 
    ) A 
WHERE RN =1; 

Plsは、次回(質問を投稿する方法について)上記のコメントに従って、データベース(通常はSQLを指定します十分ではありません)、あなたも試したものを投稿してください。

関連する問題