我有一个查询,执行后显示:
Name | LasName | City
-------------------------
John | Doe | London
John | Doe | Berlin
Martin| Smith | Paris
在WHERE子句部分我能做些什么才能得到一个John Doe,不管是哪个城市?
这个问题非常糟糕,这就是为什么我不在这里发帖。
如果您认为我可以做任何事情,请发布解释它的假查询,我只需要获得这个概念。
非常感谢!
答案 0 :(得分:4)
您没有声明RDBMS。一种应该适用的方法。
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
答案 1 :(得分:2)
假设您正在使用MySQL并且想要在一行中查看所有相同用户名的城市,请尝试以下操作:
select Name, LasName, group_concat(City)
from LargeQuery
group by Name, LasName
答案 2 :(得分:1)
您可以使用以下查询(t-sql)
SELECT Distinct Name,LasName
FROM TableName
答案 3 :(得分:0)
假设您要求只查询一行,无论城市如何,请尝试使用
select * from tablename
where name = 'John'
and lasname = 'Doe'
and rownum = 1;
答案 4 :(得分:0)
select * from `TableName` group by Name, LasName