一列的独特记录

时间:2017-07-05 13:31:29

标签: sql

我已经在这方面工作了很长时间,但是无法得到答案。 我有一个有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

3 个答案:

答案 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