下載吧 - 綠色安全的游戲和軟件下載中心

軟件下載吧

當前位置:軟件下載吧 > 技術開發 > 數據庫 > postgres 實現查詢某條數據的排名

postgres 實現查詢某條數據的排名

時間:2024-03-12 20:33作者:下載吧人氣:24

我就廢話不多說了,大家還是直接看代碼吧~

select * from (select ROW_NUMBER () OVER (ORDER BY fat desc nulls last) AS xuhao,foodnum,foodname,fat from ek_food where isdel=0) food where foodnum = ‘Ss192008’

涉及到的問題

1.排序時,字段值為null的會排在前面,導致數據不準確,解決辦法 在order by后面增加 nulls last

2.給查詢的結果增加序號 select ROW_NUMBER () OVER (ORDER BY fat desc nulls last) AS xuhao

補充:利用 PostgreSQL 實現對數據進行排名

一、需求:對以下用戶的積分進行排名計算

user_id name score
1 john 1000
2 mike 1200
3 jelly 1300
4 brook 1500
5 nanny 1200

需要知道 user_id = k 的用戶對應的積分排名

二、通過 PostgreSQL 的窗口函數實現

SELECT user_id, name, score, RANK() OVER (ORDER BY score DESC) FROM user;

user_id name score rank
4 brook 1500 1
3 jelly 1200 2
2 mike 1300 3
5 nanny 1500 3
1 john 1200 5

如要獲取排名 < 3 的用戶:

SELECT user_id, name, score, user_rank FROM (SELECT user_id, name, score, RANK() OVER (ORDER BY score DESC) AS user_rank FROM user) AS T WHERE user_rank < 3;

— 注意子查詢在from中需要寫別名

user_id name score rank
4 brook 1500 1
3 jelly 1200 2

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持。如有錯誤或未考慮完全的地方,望不吝賜教。

標簽[db:關鍵字]

相關下載

查看所有評論+

網友評論

網友
您的評論需要經過審核才能顯示

熱門閱覽

最新排行

公眾號

主站蜘蛛池模板: 国产精品久久久久久久网站| 欧美freesex黑人又粗又大| 国产精品国语自产拍在线观看| 久久婷婷综合色丁香五月| 五月婷婷六月天| 最近中文字幕mv图| 国产成人精品2021| 久久伊人中文字幕| 男女一边摸一边做爽爽| 在线观看国产日本| 久久精品视频7| 草莓污视频在线观看午夜社区| 扒开内裤直接进| 初女破苞国语在线观看免费| 2021人人莫人人擦人人看| 无码专区狠狠躁躁天天躁| 初尝人妻少妇中文字幕| youjizz大全| 巨大欧美黑人xxxxbbbb| 亚洲黄色网址大全| 1000部夫妻午夜免费| 成年女人色毛片| 伊人久久大香线蕉观看| chinese体育生gayxxxxhd| 最近2019中文字幕mv免费看| 免费播看30分钟大片| 91精品国产91久久久久久青草| 日本久久久久亚洲中字幕| 公交车上性配合享受视频| 欧美大黑bbb| 成人无码Av片在线观看| 亚洲另类小说图片| 精品亚洲成a人无码成a在线观看| 国产精品999| 久久99热只有频精品8| 欧美激情性xxxxx| 国产卡一卡二卡3卡4卡无卡视频| caoporm视频| 日本xx18护土| 亚洲一区二区三区亚瑟| 被夫上司强迫的女人在线 |