1

実行後に次のようなクエリがあります。

Name  | LasName | City
-------------------------
John  | Doe     | London
John  | Doe     | Berlin
Martin| Smith   | Paris

都市に関係なく、John Doeを1つだけ取得するために、WHERE句のセクションでできることはありますか?

クエリは膨大なので、ここには投稿しません。

私にできると思うことがあれば、それを説明する偽のクエリを投稿してください。コンセプトを理解する必要があります。

どうもありがとう!

4

5 に答える 5

5

RDBMSについては述べていません。すべてで機能するはずの1つの方法。

SELECT Name,
       LasName,
       MAX(City) AS City
FROM   YourQuery
GROUP  BY Name,
          LasName 

あなたはどの都市を気にしないと言います。これにより、最後のアルファベットが表示されます。

または代替

SELECT Name,
       LasName,
       City
FROM   (SELECT Name,
               LasName,
               City,
               ROW_NUMBER() OVER (PARTITION BY Name, LasName ORDER BY (SELECT 0)) AS RN
        FROM   YourQuery) T
WHERE  RN = 1 
于 2013-02-06T12:48:29.770 に答える
2

MySQLを使用していて、同じユーザー名のすべての都市を1行で表示したい場合は、次のようにしてみてください。

select Name, LasName, group_concat(City)
from LargeQuery
group by Name, LasName
于 2013-02-06T12:49:05.093 に答える
1

次のクエリを使用できます(t-sql)

SELECT Distinct Name,LasName
FROM TableName
于 2013-02-06T12:50:45.867 に答える
0
select * from `TableName` group by Name, LasName
于 2013-02-07T14:06:31.430 に答える
0

都市に関係なく、1行だけをクエリするように要求していると仮定して、これを試してください。

select * from tablename 
where name = 'John'
and lasname = 'Doe'
and rownum = 1;
于 2013-02-06T12:49:58.460 に答える