用如下語句,查出符合條件的數(shù)據(jù)后,只取第一行: select * from table_name where 條件1 and 條件2 and rownum=1;
從網(wǎng)站建設(shè)到定制行業(yè)解決方案,為提供成都做網(wǎng)站、成都網(wǎng)站設(shè)計(jì)、成都外貿(mào)網(wǎng)站建設(shè)服務(wù)體系,各種行業(yè)企業(yè)客戶提供網(wǎng)站建設(shè)解決方案,助力業(yè)務(wù)快速發(fā)展。成都創(chuàng)新互聯(lián)將不斷加快創(chuàng)新步伐,提供優(yōu)質(zhì)的建站服務(wù)。
select a.actor_id from
(select actor_id from film_actor group by actor_id order by count(film_id) desc) a where rownum=1
oracle記錄中選擇出第一條記錄的方法。
如下參考:
1.創(chuàng)建測(cè)試表
Createtabletest_order(idnumber,valuevarchar2(50));
2.插入測(cè)試數(shù)據(jù)
插入test_order值(3,'v3');
插入test_order值(2,'v2');
插入test_order值(1,'v1');
插入test_order值(5,'v5');
插入test_order值(4,'v4');
提交;
3.檢查查詢表中的全部數(shù)據(jù),可以發(fā)現(xiàn)數(shù)據(jù)沒有排序,選擇t。*,rowidfromtest_ordert;
4.寫SQL,數(shù)據(jù)只要第一個(gè)記錄(不是rownum=1)select*from(selectt)。*,row_number()/(orderbyid)rnfromtest_ordert)t,其中rn=1;
用rownum就可以實(shí)現(xiàn)的
select * from table where rownum=1 ;
rownum是一個(gè)序列,是oracle數(shù)據(jù)庫從數(shù)據(jù)文件或緩沖區(qū)中讀取數(shù)據(jù)的順序。它取得第一條記錄則rownum值為1,第二條為2,依次類推。
A假設(shè)字段如下
name id
a 2
b 1
SQL通用方法
SELECT * FROM
a t1 WHERE NOT EXISTS(SELECT 1 FROM A WHERE name = t1.name
and id t1.id)
也可以用ORACLE獨(dú)有的row_number,
SELECT name, id
FROM (SELECT name, id, ROW_NUMBER() OVER(PARTITION BY NAME ORDER BY ID) RK from A) t
WHERE rk = 1