sql记录,获得这一年的数据,以年以及设备名称分组,进行sql语句的编写、删除重复记录。

sql 1

获得这一年的数据,以年以及设备名称分组,进行sql语句的编写

select
DATE_FORMAT(time,"%Y") years,id,name,time,SUM(d_variation_plane_x) d_variation_plane_x,SUM(d_variation_plane_y)
 d_variation_plane_y,SUM(d_variation_plane_h) d_variation_plane_h
 FROM smos_module_gnss_data
 <where>
     <if test="date != null and date != ''">
         YEAR(time) = #{date}
     </if>
     AND calculating_type = 1 AND statistics_type = 0 AND flag = 0
 </where>
 GROUP BY years,name ORDER BY time

DATE_FORMAT(time,“%Y”) 将time格式化为年份,还可以有其他的写法,如%Y-%m 为月,等等。
分组为GROUP BY years,name,先按年分组,按年分组之后再按设备名name分组

结果如下:
在这里插入图片描述
查出来按2021分组之后,再按照设备名进行分组。

sql 2

数据库删除重复记录 保留id最小那行记录
工作中遇到的问题,做下笔记省得忘记

delete from testname
where (name,age) in (select * from (select name,age from testname group by name,age having count(*) > 1) b
)
and (id) not in (select * from (select min(id) from testname group by name,age having count(*)>1) c)
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

杵意

谢谢金主打赏呀!!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值