Received: from maia.hub.org (maia-5.hub.org [200.46.204.29]) by mail.postgresql.org (Postfix) with ESMTP id 72B11133616B for ; Mon, 9 May 2011 18:08:53 -0300 (ADT) Received: from mail.postgresql.org ([200.46.204.86]) by maia.hub.org (mx1.hub.org [200.46.204.29]) (amavisd-maia, port 10024) with ESMTP id 35600-08 for ; Mon, 9 May 2011 21:08:42 +0000 (UTC) X-Greylist: from auto-whitelisted by SQLgrey-1.7.6 Received: from mail-pv0-f174.google.com (mail-pv0-f174.google.com [74.125.83.174]) by mail.postgresql.org (Postfix) with ESMTP id DE43D1337B97 for ; Mon, 9 May 2011 18:08:41 -0300 (ADT) Received: by pvg12 with SMTP id 12so2529598pvg.19 for ; Mon, 09 May 2011 14:08:41 -0700 (PDT) MIME-Version: 1.0 Received: by 10.68.50.73 with SMTP id a9mr10329874pbo.237.1304975321047; Mon, 09 May 2011 14:08:41 -0700 (PDT) Received: by 10.68.48.68 with HTTP; Mon, 9 May 2011 14:08:41 -0700 (PDT) X-Originating-IP: [66.215.95.51] In-Reply-To: <4DC850CC.50409@encs.concordia.ca> References: <216FFB77CBFAEE4B8EE4DF0A939FF1D14F85F1@mail-001.corp.automotive.com> <4DC84284.4000903@encs.concordia.ca> <216FFB77CBFAEE4B8EE4DF0A939FF1D14F85F7@mail-001.corp.automotive.com> <4DC845EC.1020806@encs.concordia.ca> <216FFB77CBFAEE4B8EE4DF0A939FF1D14F85F8@mail-001.corp.automotive.com> <4DC850CC.50409@encs.concordia.ca> Date: Mon, 9 May 2011 14:08:41 -0700 Message-ID: Subject: Re: Sorting Issue From: Samuel Gendler To: emilu@encs.concordia.ca Cc: "Ozer, Pam" , pgsql-sql@postgresql.org Content-Type: multipart/alternative; boundary=bcaec54306fe73a2e304a2de3efd X-Virus-Scanned: Maia Mailguard 1.0.1 X-Spam-Status: No, hits=-1.899 tagged_above=-5 required=5 tests=BAYES_00=-1.9, HTML_MESSAGE=0.001 X-Spam-Level: X-Archive-Number: 201105/56 X-Sequence-Number: 35340 --bcaec54306fe73a2e304a2de3efd Content-Type: text/plain; charset=ISO-8859-1 On Mon, May 9, 2011 at 1:38 PM, Emi Lu wrote: > Hi Pam, > > > >> Select VehicleTrimAbbreviated, VehicleTrimAbbreviatedId > >> from VehicleTrimAbbreviated > >> Where vehicleTrimAbbreviated like 'CX%' > >> order by > >> > >> split_part(VehicleTrimAbbreviated, ' ', 1) asc, > >> split_part(VehicleTrimAbbreviated, ' ', 2) asc; > > This query works, right? > > Reason: > ====== > . split_part(VehicleTrimAbbreviated, ' ', 1) return the string before the > blank > > . split_part(VehicleTrimAbbreviated, ' ', 1) return the string after the > blank > > So > [1] you order by CX, CXL, CXS first > [2] you order by second part "Hatchback, Minivan... " > > Is there clear now? > > Not really. It should sort alphabetically the same in either case. Here's an alphabetic sort of similar strings in python >>> a = ["CX Hatchback", "CXL Minivan", "CXL Premium Sedan", "CXL Sedan", "CXL Sport Utility", "CXL Turbo Sedan", "CX Minivan", "CXS Sedan"] >>> a.sort() >>> a ['CX Hatchback', 'CX Minivan', 'CXL Minivan', 'CXL Premium Sedan', 'CXL Sedan', 'CXL Sport Utility', 'CXL Turbo Sedan', 'CXS Sedan'] It's not at all clear why they are not coming out of the db in alphabetically sorted order when the query includes "order by VehicleTrimAbbreviated asc" --bcaec54306fe73a2e304a2de3efd Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable

On Mon, May 9, 2011 at 1:38 PM, Emi Lu <= span dir=3D"ltr"><emilu@encs.= concordia.ca> wrote:
Hi Pam,


>> Select VehicleTrimAbbreviated, VehicleTrimAbbreviatedId
>> from VehicleTrimAbbreviated
>> Where vehicleTrimAbbreviated like 'CX%'
>> order by
>>
>> split_part(VehicleTrimAbbreviated, ' ', 1) asc,
>> split_part(VehicleTrimAbbreviated, ' ', 2) asc;

This query works, right?

Reason:
=3D=3D=3D=3D=3D=3D
. split_part(VehicleTrimAbbreviated, ' ', 1) return the string befo= re the blank

. split_part(VehicleTrimAbbreviated, ' ', 1) return the string afte= r the blank

So
[1] you order by CX, CXL, CXS first
[2] you order by second part "Hatchback, Minivan... "

Is there clear now?


Not really. =A0It should sort alphabet= ically the same in either case. =A0Here's an alphabetic sort of similar= strings in python

>>> a =3D ["CX Ha= tchback", "CXL Minivan", "CXL Premium Sedan", &quo= t;CXL Sedan", "CXL Sport Utility", "CXL Turbo Sedan&quo= t;, "CX Minivan", "CXS Sedan"]
>>> a.sort()
>>> a
['CX= Hatchback', 'CX Minivan', 'CXL Minivan', 'CXL Prem= ium Sedan', 'CXL Sedan', 'CXL Sport Utility', 'CXL = Turbo Sedan', 'CXS Sedan']

It's not at all clear why they are not coming= out of the db in alphabetically sorted order when =A0the query includes &q= uot;order by VehicleTrimAbbreviated asc"

=A0<= /div>
--bcaec54306fe73a2e304a2de3efd--