Return-Path: Delivered-To: apmail-db-derby-user-archive@www.apache.org Received: (qmail 18128 invoked from network); 6 Mar 2009 03:09:46 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 6 Mar 2009 03:09:46 -0000 Received: (qmail 11740 invoked by uid 500); 6 Mar 2009 03:09:45 -0000 Delivered-To: apmail-db-derby-user-archive@db.apache.org Received: (qmail 11717 invoked by uid 500); 6 Mar 2009 03:09:45 -0000 Mailing-List: contact derby-user-help@db.apache.org; run by ezmlm Precedence: bulk list-help: list-unsubscribe: List-Post: List-Id: Reply-To: "Derby Discussion" Delivered-To: mailing list derby-user@db.apache.org Received: (qmail 11708 invoked by uid 99); 6 Mar 2009 03:09:45 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 05 Mar 2009 19:09:45 -0800 X-ASF-Spam-Status: No, hits=-0.0 required=10.0 tests=SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: local policy) Received: from [203.217.22.128] (HELO file1.syd.nuix.com) (203.217.22.128) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 06 Mar 2009 03:09:37 +0000 Received: from [192.168.222.60] (monolith.syd.nuix.com [192.168.222.60]) by file1.syd.nuix.com (Postfix) with ESMTP id 6F05D4A812A for ; Fri, 6 Mar 2009 14:09:13 +1100 (EST) Message-ID: <49B093E7.8020608@nuix.com> Date: Fri, 06 Mar 2009 14:09:27 +1100 From: Daniel Noll Organization: Nuix Pty Ltd User-Agent: Thunderbird 2.0.0.19 (Windows/20081209) MIME-Version: 1.0 To: Derby Users Mailing List Subject: Order the results, *and* slice them Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Virus-Checked: Checked by ClamAV on apache.org Hi all. I'm trying to use ROW_NUMBER() in conjunction with ORDER BY and not having a lot of luck. This is the query I'm using, which I found on the Derby wiki: SELECT * FROM ( SELECT ROW_NUMBER() OVER(ORDER BY startdate ASC) AS row, id, startdate, enddate, ... FROM HistoryRecord ) AS tmp WHERE row >= ? AND row < ? I have also tried what I consider to be the intuitive way: SELECT * FROM ( SELECT ROW_NUMBER() OVER() AS row, id, startdate, enddate, ... FROM HistoryRecord ORDER BY startdate ASC ) AS tmp WHERE row >= ? AND row < ? Both of these give an error at ORDER BY. Am I doing something wrong, or is this a missing part of the ROW_NUMBER() feature? Daniel -- Daniel Noll Forensic and eDiscovery Software Senior Developer The world's most advanced Nuix email data analysis http://nuix.com/ and eDiscovery software