tcl1122 2010-10-27 18:08
浏览 333
已采纳

查询一张表中两个字段重复的数据并得到其主键?

 

希望各位路过的大侠 帮小弟一把。感激不尽

 

如何查询一张表中两个字段都重复的数据以及每组中的第一条数据的主键?
情况如下:
A表: a1 a2 a3  a4   都列

a1     a2            a3                  a4

1       m              n                   o

2       m              n                   k

3       j                k                   l

4       j                k                   o

5       s               s                   s

6       e               e                   g

 

 

要求:查询出A表中a2  a3两个字段同时重复的数据以及每组中的第一条数据的主键a1 结果示例:

a1    a2     a3  

1      m      n

3      j        k

 

 

(不知各位大侠能不能明白我的意思?)

 

对于重复的数据: select a2,a3 from A a  group by a2,a3  having count(a1)>=2

但分组后怎么同时把每组中第一条数据的a1也查出来,然后根据这a1查询出表中所有的数据。

 

 

  • 写回答

2条回答 默认 最新

  • 勤劳的小猿 2010-10-27 23:08
    关注

    不知道你用的是什么数据库,我这有我以前给一个也是提问题的朋友写的,测试可以不过是oracle的语句。
    [code="sql"]
    select t.a1,t.a2,t.a4 from (select a1,a2,a3,a4, row_number() over (partition by a2,a3 order by a1 asc) as num from a) t where num <2;
    [/code]
    在sql server中,如果要分组的话就那么分组字段就得显示。
    那你的数据如果在sql server中直接一个分组就搞定了。
    [code="java"]
    select min(id),a2,a3 from a group by a2,a3;
    [/code]
    如果不加min()的话不能执行,看不到id的。加上就ok了。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 算能科技20240506咨询(拒绝大模型回答)
  • ¥15 自适应 AR 模型 参数估计Matlab程序
  • ¥100 角动量包络面如何用MATLAB绘制
  • ¥15 merge函数占用内存过大
  • ¥15 Revit2020下载问题
  • ¥15 使用EMD去噪处理RML2016数据集时候的原理
  • ¥15 神经网络预测均方误差很小 但是图像上看着差别太大
  • ¥15 单片机无法进入HAL_TIM_PWM_PulseFinishedCallback回调函数
  • ¥15 Oracle中如何从clob类型截取特定字符串后面的字符
  • ¥15 想通过pywinauto自动电机应用程序按钮,但是找不到应用程序按钮信息