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或前往當地營業廳進行重置密碼。如有疑問請點選。諮詢。如何查詢帳號密碼 若三星賬戶密碼忘記或丟失,建議您...