A列14号的时候,B列有A.B.C,怎么优先获取A值,没有的话就获取其他值,比如15号的时候,没有A值,就获取B?
https://blog.csdn.net/xiaobinqt/article/details/111181182 帮你找了一篇博客可以参考
用max或者min去取最大/最小值
拿A列跟B列来排序呗 order by A , B 先排A,A一样再根据B里的数据大小排序
可以对A列分组,取B列的最大或最小值,也可以对B列转换ASCII码去取最大或最小值
题主这ABC只是举例,实际应该存在不同值,且无法直接用最大或者最小排序。
如果按照排序思路,其实可以这样写
order by case when 字段='A' THEN 1 WHEN 字段='B' THEN 2 ELSE 3 END ;
或者
order by decode( 字段,'A' , 1 ,'B' , 2 , 3 ) ;
然后使用fetch first 1 row only 取第一行即可,如果是12c以下的版本,就用开窗函数来排序再取排序为第一的
同理,使用decode或者case when 以后,就可以使用max/min来获取对应的值了,只是还得转换回去