weixin_53942559 2021-06-29 14:22 采纳率: 70.8%
浏览 387
已结题

left join 后怎么去重? distinct不起作用,group by报错?

  • 写回答

5条回答 默认 最新

  • CSDN专家-微编程 2021-06-29 15:03
    关注

    从你的sql语句中可以看出,你的sql基础有点差,建议先去学一下基础

    明显的错误如下:

    1.使用group by后面跟字段名 以该字段分组查询,所以select不用 *  而是group by的字段名,group by后面不跟条件

    2.left join 是左连接 用法以a,b表为例 select....from a left join b on a.xx=b,xx     a.xx和b.xx是相同等价字段

    3.distinct 是去重,用法是放在 select后面 字段名前面,比如 select distinct name from 表a,代表查询名字,名字各不相同

    3.顺序问题,where不能放在group by后面,而是having放在group by后面,having和where有相同的功能,不同在于位置不同

    sql书写顺序:select --> from --> where --> group by --> having --> order by 

    sql执行顺序:from --> where --> group by --> having --> select --> order by

     

          from: 需要从哪个数据表检索数据 。

      where: 过滤表中数据的条件。

      group by: 如何将上面过滤出的数据分组。

      having: 对上面已经分组的数据进行过滤的条件。

      select: 查看结果集中的哪个列,或列的计算结果。

      order by: 按照什么样的顺序来查看返回的数据。

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

报告相同问题?

问题事件

  • 系统已结题 9月20日
  • 已采纳回答 9月12日

悬赏问题

  • ¥15 metadata提取的PDF元数据,如何转换为一个Excel
  • ¥15 关于arduino编程toCharArray()函数的使用
  • ¥100 vc++混合CEF采用CLR方式编译报错
  • ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?
  • ¥15 vite+vue3+plyr播放本地public文件夹下视频无法加载
  • ¥15 c#逐行读取txt文本,但是每一行里面数据之间空格数量不同
  • ¥50 如何openEuler 22.03上安装配置drbd
  • ¥20 ING91680C BLE5.3 芯片怎么实现串口收发数据
  • ¥15 无线连接树莓派,无法执行update,如何解决?(相关搜索:软件下载)
  • ¥15 Windows11, backspace, enter, space键失灵