安于心m 2024-01-02 17:00 采纳率: 73.7%
浏览 4

sql去重如何解决啊123

存在两张表User,字段(id,name,age,class,sex(男|女)) Student表(id,class)
第一步:两张表根据class关联查询返回User *
第二部:返回user中的所有数据,如果use中的name,age数据值相同,则只查询出来sex值为男的数据
sql如何去重??

  • 写回答

2条回答 默认 最新

  • helloworld88990 2024-01-02 17:05
    关注

    您可以使用以下 SQL 查询语句来实现您的需求:

    第一步:根据 class 字段关联查询返回 User 表:

    SELECT * FROM User u
    JOIN Student s ON u.class = s.class
    

    第二步:返回 User 表中的所有数据,如果 nameage 数据值相同,则只查询出 sex 值为男的数据,并进行去重:

    SELECT DISTINCT u.*
    FROM User u
    JOIN Student s ON u.class = s.class
    WHERE (u.name, u.age) IN (
        SELECT name, age
        FROM User
        GROUP BY name, age
        HAVING COUNT(*) > 1
    ) AND u.sex = '男'
    

    上述查询语句使用了子查询来筛选出在 User 表中具有相同 nameage 的记录,并且使用 DISTINCT 关键字来去重。只查询出 sex 值为男的数据。

    请根据您的具体数据库表名和字段名进行相应的修改。

    评论

报告相同问题?

问题事件

  • 创建了问题 1月2日

悬赏问题

  • ¥15 python变量和列表之间的相互影响
  • ¥15 写一个方法checkPerson,入参实体类Person,出参布尔值
  • ¥15 我想咨询一下路面纹理三维点云数据处理的一些问题,上传的坐标文件里是怎么对无序点进行编号的,以及xy坐标在处理的时候是进行整体模型分片处理的吗
  • ¥15 CSAPPattacklab
  • ¥15 一直显示正在等待HID—ISP
  • ¥15 Python turtle 画图
  • ¥15 关于大棚监测的pcb板设计
  • ¥15 stm32开发clion时遇到的编译问题
  • ¥15 lna设计 源简并电感型共源放大器
  • ¥15 如何用Labview在myRIO上做LCD显示?(语言-开发语言)