嗨我需要一些关于如何选择所有行的选择语句的建议,其中电话号码作为“区别”的衡量标准。
我的例子。
|ID |Name |Phone Number| Address |
| | | | |
|1 |John | 1234567 | A.Road 1 |
|1 |John | 1234567 | B.Road 2 |
|2 |Jane | 7654321 | C.Road 3 |
|3 |Jim | 7654321 | C.road 3 |
我想要的例子:
|ID |Name |Phone Number| Address |
| | | | |
|1 |John | 1234567 | A.Road 1 |
|2 |Jane | 7654321 | C.Road 3 |
关于SQL选择哪个行的结果,只有整行可用并且它选择不同的电话号码无关紧要。希望你明白我在这里想做什么。
答案 0 :(得分:4)
ANSI SQL支持row_number()
函数,这是一种典型的解决方案:
select t.*
from (select t.*,
row_number() over (partition by phone_number order by id) as seqnum
from t
) t
where seqnum = 1;