我已经在这方面工作了很长时间,但是无法得到答案。 我有一个有4列的表。我需要返回其中两列,A和B. 但是我需要通过第一列A过滤数据.A不是主键。我怎样才能做到这一点?如果我可以返回所有列也可以,只要数据仅由A列过滤。
A B C D
1 e f r
1 e f r
1 e k t
2 c f r
2 c f r
3 l f r
这应该返回
A B C D
1 e f r
2 c f r
3 l f r
哪个查询会给我这个结果?到现在为止,我有这个,但是效果不好:
SELECT DISTINCT A, B, FROM myTable WHERE C=f
答案 0 :(得分:1)
尝试
String name = "Peter Pan";
name = name.replace("er", "abc");
Log.d("Name", name)
答案 1 :(得分:1)
您可以使用Row_Number()
对每个不同A
值中的行进行排名,然后获取每个行的第一行。
SELECT
a, b, c, d
FROM
(SELECT
a, b, c, d,
Row_Number() OVER (PARTITION BY a ORDER BY b, c, d) rn
FROM
myTable) mt
WHERE
rn = 1
答案 2 :(得分:1)
使用此
with cte as
(
select * , row_Number() over (Partition by A order by A) as aa from myTable
)
select * from cte where aa = 1