SQL 两列,第一列ID,第二列数值,多行第一列ID相同,相同ID的第二列中,有的行数值列有数据,有的行数值列中为空,怎么把相同ID第二列有值赋值给相同ID但第二列为空的SQL语句写法,增加一列,谢谢
3条回答 默认 最新
关注 先说下用什么数据库以及版本,并且提供一下你的表结构,因为不同数据库的写法是有区别的。
一般来说,这种情况可以用开窗函数,因为开窗函数的特点就是能在本行查非本行的内容。
假设你有一个表有二个字段uid c 1 a 1 2 b 2 那么可以使用类似如下的sql
select id,max(c) over(partition by id) from 表
当然max不是唯一选择,sum也行,甚至还可以用first_value或者last_value排序取第一行或者最后一行。
重点是要形成一个意识,本行数据的某个字段要用到非本行数据时,开窗本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥170 如图所示配置eNSP
- ¥20 docker里部署springboot项目,访问不到扬声器
- ¥15 netty整合springboot之后自动重连失效
- ¥15 悬赏!微信开发者工具报错,求帮改
- ¥20 wireshark抓不到vlan
- ¥20 关于#stm32#的问题:需要指导自动酸碱滴定仪的原理图程序代码及仿真
- ¥20 设计一款异域新娘的视频相亲软件需要哪些技术支持
- ¥15 stata安慰剂检验作图但是真实值不出现在图上
- ¥15 c程序不知道为什么得不到结果
- ¥15 键盘指令混乱情况下的启动盘系统重装