日韩小视频-日韩久久一区二区三区-日韩久久一级毛片-日韩久久久精品中文字幕-国产精品亚洲精品影院-国产精品亚洲欧美云霸高清

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

軟件下載吧

當前位置:軟件下載吧 > 技術開發 > 數據庫 > 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:關鍵字]

相關下載

查看所有評論+

網友評論

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

熱門閱覽

最新排行

公眾號

主站蜘蛛池模板: 国产一区亚洲欧美成人 | 亚洲精品国产一区二区 | 亚洲视频偷拍自拍 | 中文字幕日韩精品亚洲七区 | 亚洲精品国产拍拍拍拍拍 | 黄在线看 | 国产va免费精品高清在线观看 | 三级毛片在线免费观看 | 国产精品毛片va一区二区三区 | 欧日韩美香蕉在线观看 | 欧美一级人与动毛片免费播放 | 成人午夜大片免费看爽爽爽 | 亚洲第一中文字幕 | 欧洲一级视频 | 天堂在线视频网站 | 欧美一级v片 | 黄色美女在线观看 | 久久国产高清 | 普通话对白国产情侣自啪 | 美国全免费特一级毛片 | 欧美日本一区二区三区 | 日本一区二区不卡久久入口 | 欧美高清视频在线观看 | 国产免费一级高清淫曰本片 | 国产或人精品日本亚洲77美色 | 色综合久久久久久 | 国产一区亚洲二区 | 亚洲精品国产专区一区 | 国产日韩欧美精品一区二区三区 | 成年人网站免费在线观看 | 欧美日韩国产综合一区二区三区 | 欧美黄网站免费观看 | 久久www免费人成看国产片 | 久久久精品久久久久三级 | 国产做国产爱免费视频 | 高清午夜毛片 | 免费成人| 国产精品hd在线播放 | 亚洲 欧美 精品 中文第三 | 永久免费看毛片 | 日韩视频免费一区二区三区 |