LIMIT 표준화를위한 ANSI / ISO 계획?


12

현재 쿼리에서 반환되는 결과 수를 제한하는 가장 좋은 방법 중 하나를 표준화 할 계획이 있습니까?

스택 오버플로 질문 의 MYSQL LIMIT 키워드에 ANSI SQL 대안이 있습니까? 이 동작을 다른 언어로 처리하는 다양한 방법을 나열합니다.

DB2 -- select * from table fetch first 10 rows only 
Informix -- select first 10 * from table 
Microsoft SQL Server and Access -- select top 10 * from table 
MySQL and PostgreSQL -- select * from table limit 10 
Oracle -- select * from (select * from table) where rownum <= 10

나는 종종 무지에서 말하는 DB에서 플레이하지 않지만, 이것은 매우 중요한 기능 인 것 같습니다. 적어도 벤더에게 맡겨져있을 때 머리를 긁을 정도로 충분히 중요합니다.

답변:


20

인터넷에서 찾을 수있는 최신 초안 SQL 표준 (2011 년 12 월 21 일)에는 쿼리 식에 사용할 수있는 다음이 있습니다.

<result offset clause> ::=
    OFFSET <offset row count> { ROW | ROWS }

<fetch first clause> ::=
    FETCH { FIRST | NEXT } [ <fetch first quantity> ] { ROW | ROWS } { ONLY | WITH TIES }

5
이것은 또한 어떤 포스트 그레스 매뉴얼 주장이다 postgresql.org/docs/current/static/sql-select.html#SQL-LIMIT
a_horse_with_no_name

아, 정말 멋지다. MySQL 및 PSQL의 LIMIT 키워드 키워드가 마음에 들었지만 결혼하지 않았으므로 쿼리가 교차 RDBMS 방식으로 작동하는 것이 안심입니다.
chucksmash

3
@chucksmash 물론 ​​MySQL을 제외하고. 그들은 표준을 좋아하지 않기 때문에. (Ref : GROUP BY.)
Aaron Bertrand
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.