>  기사  >  데이터 베이스  >  Oracle에서 정렬 후 첫 번째 데이터를 얻는 방법

Oracle에서 정렬 후 첫 번째 데이터를 얻는 방법

下次还敢
下次还敢원래의
2024-05-07 15:33:18555검색

Oracle에서 정렬 후 첫 번째 데이터 조각을 얻는 두 가지 방법: ROWNUM 유사 열을 사용하여 현재 행 번호 1로 데이터를 반환하도록 쿼리를 제한합니다. FETCH FIRST 1 ROWS ONLY 절을 사용하여 결과 집합의 처음 1개 행만 반환하도록 쿼리를 제한합니다.

Oracle에서 정렬 후 첫 번째 데이터를 얻는 방법

Oracle에서 정렬 후 첫 번째 데이터 조각을 가져오는 두 가지 방법

Oracle에서는 데이터 세트를 정렬한 후 첫 번째 데이터 조각을 가져오는 두 가지 주요 방법을 사용할 수 있습니다.

1. ROWNUM 의사 열 사용

ROWNUM 의사 열은 쿼리 결과 집합에서 현재 행의 행 번호를 반환합니다. 다음 쿼리는 ROWNUM 유사 열을 사용하여 정렬된 데이터세트의 첫 번째 데이터를 가져옵니다. ROWNUM 伪列返回当前行在查询结果集中的行号。以下查询使用 ROWNUM 伪列获取排序后数据集的第一条数据:

<code class="sql">SELECT *
FROM (
  SELECT *
  FROM table_name
  ORDER BY column_name
)
WHERE ROWNUM = 1;</code>

2. 使用 FETCH FIRST 1 ROWS ONLY 子句

FETCH FIRST 1 ROWS ONLY 子句限制查询只返回结果集中的前 1 行。以下查询使用 FETCH FIRST 1 ROWS ONLY 子句获取排序后数据集的第一条数据:

<code class="sql">SELECT *
FROM table_name
ORDER BY column_name
FETCH FIRST 1 ROWS ONLY;</code>

示例:

假设我们有一个名为 "my_table" 的表,包含以下数据:

id name
1 John
2 Mary
3 Bob

以下查询将使用 ROWNUM 伪列获取按 "name" 列升序排序的第一个数据:

<code class="sql">SELECT *
FROM (
  SELECT *
  FROM my_table
  ORDER BY name
)
WHERE ROWNUM = 1;</code>

结果:

id name
1 John

以下查询将使用 FETCH FIRST 1 ROWS ONLY

<code class="sql">SELECT *
FROM my_table
ORDER BY name
FETCH FIRST 1 ROWS ONLY;</code>

2 FETCH FIRST 1 ROWS ONLY 절

FETCH FIRST 1 ROWS ONLY을 사용합니다. 절은 결과 집합의 처음 1개 행만 반환하도록 쿼리를 제한합니다. 다음 쿼리는 <code>FETCH FIRST 1 ROWS ONLY 절을 사용하여 정렬된 데이터세트에서 첫 번째 데이터 조각을 가져옵니다. rrreee예: 다음을 포함하는 "my_table"이라는 테이블이 있다고 가정합니다. 다음 데이터: idname
🎜🎜🎜1🎜🎜John🎜🎜🎜🎜2🎜🎜Mary🎜🎜🎜🎜3🎜🎜Bob 🎜🎜🎜🎜🎜다음 쿼리에서는 ROWNUM 유사 열은 "name" 열을 기준으로 오름차순으로 정렬된 첫 번째 데이터를 가져옵니다. 🎜rrreee🎜 결과: 🎜🎜🎜🎜🎜id🎜🎜name🎜🎜🎜🎜🎜🎜1🎜🎜John🎜🎜🎜🎜 🎜 다음 쿼리는 FETCH FIRST 1 ROWS ONLY 절을 사용하여 "name" 열을 기준으로 오름차순으로 정렬된 첫 번째 데이터를 가져옵니다. 🎜rrreee🎜 결과: 🎜🎜🎜🎜🎜id🎜🎜name 🎜🎜🎜🎜 🎜🎜1🎜🎜John🎜🎜🎜🎜

위 내용은 Oracle에서 정렬 후 첫 번째 데이터를 얻는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.