X-Original-To: pgsql-sql-postgresql.org@localhost.postgresql.org Received: from localhost (unknown [200.46.204.144]) by svr1.postgresql.org (Postfix) with ESMTP id 955A956325 for ; Wed, 23 Feb 2005 20:22:46 +0000 (GMT) Received: from svr1.postgresql.org ([200.46.204.71]) by localhost (av.hub.org [200.46.204.144]) (amavisd-new, port 10024) with ESMTP id 24093-06 for ; Wed, 23 Feb 2005 20:22:43 +0000 (GMT) Received: from window.monsterlabs.com (window.monsterlabs.com [216.183.105.176]) by svr1.postgresql.org (Postfix) with SMTP id 70DF15632F for ; Wed, 23 Feb 2005 20:22:42 +0000 (GMT) Received: (qmail 32422 invoked from network); 23 Feb 2005 20:22:44 -0000 Received: from host-209.149.56.238.nashville.net (HELO ?10.0.1.2?) (209.149.56.238) by 0 with SMTP; 23 Feb 2005 20:22:44 -0000 In-Reply-To: <20050223203322.GA21904@wolff.to> References: <200502160055.59288.andreak@officenet.no> <20050216044735.GA2343@wolff.to> <200502160939.27431.andreak@officenet.no> <20050223203322.GA21904@wolff.to> Mime-Version: 1.0 (Apple Message framework v619.2) Content-Type: text/plain; charset=US-ASCII; format=flowed Message-Id: <6c309c4f2176e1b60b457e8dda777e1b@sitening.com> Content-Transfer-Encoding: 7bit Cc: PgSQL - SQL From: Thomas F.O'Connell Subject: Re: Making NULL entries appear first when ORDER BY ASC Date: Wed, 23 Feb 2005 14:22:41 -0600 To: Bruno Wolff III X-Mailer: Apple Mail (2.619.2) X-Virus-Scanned: by amavisd-new at hub.org X-Spam-Status: No, hits=0.103 tagged_above=0 required=5 tests=AWL, UPPERCASE_25_50 X-Spam-Level: X-Archive-Number: 200502/282 X-Sequence-Number: 20392 Yup. Got it. Wasn't thinking clearly about what expression meant. Thanks! -tfo -- Thomas F. O'Connell Co-Founder, Information Architect Sitening, LLC http://www.sitening.com/ 110 30th Avenue North, Suite 6 Nashville, TN 37203-6320 615-260-0005 On Feb 23, 2005, at 2:33 PM, Bruno Wolff III wrote: > On Wed, Feb 23, 2005 at 13:54:50 -0600, > "Thomas F.O'Connell" wrote: >> How would one know from the reference material that it is possible to >> include IS NOT NULL in an ORDER BY clause? >> >> Similarly, other than the FAQ, I've never been able to tell from the >> SELECT documentation why ORDER BY random() works. > > From the SELECT command documentation: > SELECT [ ALL | DISTINCT [ ON ( expression [, ...] ) ] ] > * | expression [ AS output_name ] [, ...] > [ FROM from_item [, ...] ] > [ WHERE condition ] > [ GROUP BY expression [, ...] ] > [ HAVING condition [, ...] ] > [ { UNION | INTERSECT | EXCEPT } [ ALL ] select ] > [ ORDER BY expression [ ASC | DESC | USING operator ] [, ...] ] > [ LIMIT { count | ALL } ] > [ OFFSET start ] > [ FOR UPDATE [ OF table_name [, ...] ] ] > > Notice that for ORDER BY you can supply an expression. That should be > a big > clue why you can use IS NOT NULL and random() in an ORDER BY clause.