日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

160804、oracle查询:取出每组中的第一条记录

發(fā)布時(shí)間:2024/1/17 编程问答 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 160804、oracle查询:取出每组中的第一条记录 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

oracle查詢:取出每組中的第一條記錄
按type字段分組,code排序,取出每組中的第一條記錄

?

方法一:

?

select type,min(code) from group_info?
group by type;

?

注意:select 后面的列要在group by 子句中,或是用聚合函數(shù)包含,否則會(huì)有語(yǔ)法錯(cuò)誤。

?

方法二:

?

SELECT * FROM(
SELECT z.type , z.code ,ROW_NUMBER()
OVER(PARTITION BY z.type ORDER BY z.code) AS code_id
FROM group_info z
)
WHERE code_id =1;

?

這里涉及到的over()是oracle的分析函數(shù)

?

參考sql reference文檔:

?

Analytic functions compute an aggregate value based on a group of rows. They differ from aggregate functions in that they return multiple rows for each group.

?

Analytic functions are the last set of operations performed in a query except for the final?ORDER?BY?clause. All joins and all?WHERE?,?GROUP?BY?, and?HAVING?clauses are completed before the analytic functions are processed. Therefore, analytic functions can appear only in the select list or?ORDER?BY?clause.

?

語(yǔ)法結(jié)構(gòu):

?

analytic_function ([ arguments ]) OVER(analytic_clause)

其中analytic_clause結(jié)構(gòu)包括:

?

[ query_partition_clause ] [ order_by_clause [ windowing_clause ] ]

?

也就是:函數(shù)名( [ 參數(shù) ] ) over( [ 分區(qū)子句 ]? [ 排序子句 [ 滑動(dòng)窗口子句 ] ])

?

???? 這里PARTITION BY 引導(dǎo)的分區(qū)子句類似于聚組函數(shù)中的group by,排序子句可看成是select語(yǔ)句中的order by.

轉(zhuǎn)載于:https://www.cnblogs.com/zrbfree/p/5752399.html

總結(jié)

以上是生活随笔為你收集整理的160804、oracle查询:取出每组中的第一条记录的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。