ORACLE SQL查詢如何查詢某欄位的值最大的前幾個

時間 2021-10-14 22:25:42

1樓:風霜向晚

**:--第一步,建立測試用表

create table sys.test_lcy(

name varchar2(4),

value integer

--第二步,檢查表是否建立成功

select * from sys.test_lcy;

--第三步,插入試驗資料

insert into sys.test_lcy values ('我',21);

insert into sys.test_lcy values ('我',22);

insert into sys.test_lcy values ('我',12);

insert into sys.test_lcy values ('你',33);

insert into sys.test_lcy values ('你',34);

insert into sys.test_lcy values ('你',10);

insert into sys.test_lcy values ('他',20);

insert into sys.test_lcy values ('他',34);

insert into sys.test_lcy values ('他',28);

--第四步,查詢語句

select name, value

from (select name,

value,

row_number() over(partition by name order by value desc) as  rn

from sys.test_lcy)

where rn <= 2;

附註: 1. sysplay的回答和我這個的區別是,如果 ('你',34) 這個值插入三次,那麼他的語句出來的結果會出來三條,而我的結果仍然只有兩條,如上圖所示。

他的結果則變成如下圖所示:

2.兩個語句應用在不同場合,他的是用來做排名的,我的僅用來排序的。不存在誰對誰錯的問題,請根據實際情況採用。

2樓:匿名使用者

select

a,bfrom

(select

a,b,rank() over(partition by a order by b desc) rankid

from

mytable

) mytable2

where

rankid<=2

oracle中如何從表中查出某個欄位相同值最多的前三個

3樓:axure夜話

按照欄位a進行分組,使用group by

統計的時候使用排名函式,比如rank()

獲取rank()函式的值<=3就可以啦

自己嘗試一下吧

4樓:育知同創教育

oracle中sql不可以查詢出某欄位相同值最多的欄位。涉及到業務邏輯篩選了。

1、查詢某欄位的值,對比如果相同儲存起來

2、繼續查詢,如果有相同值則繼續儲存

3、對比集合中的數,如果相同最多,把id取出來查詢即可。

5樓:匿名使用者

思路步驟:

先統計該欄位每個值出現的次數;

通過rownum或者rank函式獲取出現次數最多的3個值;

sql:

select col,t_count

from   (select col, count(1) as t_count

from   table1

group  by col

order  by t_count desc)where  rownum <= 3

6樓:飛魚

select ch.a from ( select rownum r ,count(t.a),t.

a a ct from table t group by t.a order by ct desc) ch where ch.r<3;

oracle中如何用sql實現查出某一張表中,某個欄位的值最大的10條記錄

7樓:妳的天真呢

實現例句如下:

select a.*

from table1 a where notexists (select 1 from table1 b where b.id>a.id)

或者select *

from table1 where id in(select max(id) from table1)又或者select *

from table1 where id=(select max(id) from table1)

8樓:陸俊賢

以使用者hr為例:

select rownum rn,t.*from (select employee_id,first_name,salary from employees order by salary) t where rownum <=10;

如何查詢 某欄位的 一個值 最大的前10個

9樓:匿名使用者

select * from 表 order by 排序欄位 limit 0 ,10

10樓:匿名使用者

--sqlserver

select top 10 欄位dao

名專 from 表名屬 order by 欄位名desc

--oracle

select 欄位名 from (select 欄位名 from 表名 order by 欄位名 desc) t where rownum <=10

--通用,使用row_number() over(order by )

select 欄位名 from (select 欄位名,row_number() over(order by 欄位名 desc) as fid from 表名) t where fid<=10

11樓:貌似

select top 10 * from 表名

order by 欄位名 desc

oracle sql查詢,如何查詢某欄位中某值最大的10個,謝謝! 20

12樓:發生等將發生

select * from table

where a = '我'

and b > 1

純mssql寫法,不知道oracle,哈哈

如何查詢醫保繳費記錄查詢

1 攜帶自己的身份證和社保卡,到當地的社保中心或者勞動保障部門查詢 2 登陸所在城市的勞動保障網或社會保險業務 點選 個人社保資訊查詢 視窗,輸入本人身份證和密碼,即可查詢本人參保資訊 3 開啟微信,點選 錢包 點選 城市服務 再點選 社保 點選 繳費明細查詢 撥打 12333 號碼諮詢,這個號碼是...

如何查詢住房公積金,如何查詢住房公積金

吃貨的完美世界 身份證公積金查詢系統你會使用嗎?住房公積金應該如何查詢呢 盧平良郝漫 你在網際網路上進入xx市住房公積金管理中心網頁,輸入你的身份證號碼 住房公積金卡號 密碼,進去後你就可以查詢自己的住房公積金餘額等相關的資訊。 明靚劇堅 找到當地的公積金 註冊一個帳號,然後輸入身份證號碼就可以查了...

如何查詢密碼,如何查詢帳號密碼

目前暫時無法為您提供查詢密碼服務,如果您忘記密碼可通過以下方法進行設定密碼 1 網廳使用者點選微廳使用者點選傳送免費簡訊指令 mmcz 6位新密碼 到10010。除以上方法,您也可撥打當地10010或前往當地營業廳進行重置密碼。如有疑問請點選。諮詢。如何查詢帳號密碼 若三星賬戶密碼忘記或丟失,建議您...