oracle 满足条件取第一行,sql – 如何只选择满足条件的第一行?
                                                            生活随笔
收集整理的這篇文章主要介紹了
                                oracle 满足条件取第一行,sql – 如何只选择满足条件的第一行?
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.                        
                                您可以使用分析查詢:
select *
from (
select p.*, v.*,
row_number() over (partition by p.id order by v.userid) as rn
from prmprofile p
join user v on v.profile = p.id
where p.language = 0
and v.userid like '%TEST%'
)
where rn = 1;
內(nèi)部查詢獲取所有數(shù)據(jù)(但使用*不理想),并添加一個(gè)額外的列,在每個(gè)p.id值上分配行號(hào)序列.它們必須按某種順序排序,而你還沒有說出是什么使得某一行成為“第一”,所以我猜對(duì)了用戶ID – 你當(dāng)然可以將其更改為更合適的行,這將在查詢重新運(yùn)行. (您可以查看rank和dense_rank以獲取選擇’first’行的替代方法).
外部查詢只是將結(jié)果集限制為額外列的值為1的那些,這將為每個(gè)p.id提供一行.
另一種方法是使用子查詢來標(biāo)識(shí)“第一”行并加入到該行,但不清楚標(biāo)準(zhǔn)是什么以及它是否足夠有選擇性.
總結(jié)
以上是生活随笔為你收集整理的oracle 满足条件取第一行,sql – 如何只选择满足条件的第一行?的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: 分包组包 北斗通信_蓝牙mesh底层传输
- 下一篇: python怎么执行csv文件_无法读取
