在线观看 国产-在线高清一级欧美精品-在线高清国产-在线福利视频-久久观看视频-久久观看

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

軟件下載吧

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

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

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

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

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:關鍵字]

相關下載

查看所有評論+

網友評論

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

熱門閱覽

最新排行

公眾號

主站蜘蛛池模板: 久久久久久久男人的天堂 | 亚欧成人中文字幕一区 | 2021国产麻豆剧传媒古装 | 亚洲男人天堂2021 | 在线观看日韩视频 | 中文毛片 | 丁香激情综合色伊人久久 | 在线视频国产网址你懂的在线视频 | 福利视频99| 日韩在线观看精品 | 亚洲主播自拍 | 最新国产成人综合在线观看 | 婷婷开心中文字幕 | 波多野结衣在线高清 | 在线观看羞羞视频 | 欧日韩不卡在线视频 | 欧美色爽| 自拍偷拍第1页 | 精品自拍一区 | 亚洲精品一二三区-久久 | 中文字幕免费视频精品一 | 最新高清无码专区 | 日韩欧美精品在线观看 | 美女被羞羞产奶视频网站 | 婷婷丁香五月中文字幕 | 在线免费精品视频 | 久久精品片 | 免费激情网址 | 草逼片 | 亚洲欧美日韩中文字幕久久 | 国色天香精品亚洲精品 | 四虎影院免费网址 | 亚洲人成电影院 | 亚洲一区二区三区四 | 精品自拍一区 | 迅雷在线观看神马电影 | 春色丁香| 久久久久国产免费 | 国产精品久久久久久久 | 俄罗斯三级完整版在线观看 | 亚洲精品麻豆 |