Re: GROUP and ORDER BY
От | Tarlika Elisabeth Schmitz |
---|---|
Тема | Re: GROUP and ORDER BY |
Дата | |
Msg-id | 20111108095958.2b6f3ad9@dick.coachhouse обсуждение исходный текст |
Ответ на | Re: GROUP and ORDER BY (Robins Tharakan <robins.tharakan@comodo.com>) |
Ответы |
Re: GROUP and ORDER BY
|
Список | pgsql-sql |
On Tue, 08 Nov 2011 09:57:08 +0530 Robins Tharakan <robins.tharakan@comodo.com> wrote: >On 11/08/2011 02:50 AM, Tarlika Elisabeth Schmitz wrote: >> Hello, >> >> I would like to GROUP the result by one column and ORDER it by >> another: >> >> SELECT >> no, name, similarity(name, 'Tooneyvara') AS s >> FROM vtown >> WHERE similarity(name, 'Tooneyvara')> 0.4 >> ORDER BY s DESC >> >> Result: >> >> 1787 "Toomyvara" 0.5 >> 1787 "Toomevara" 0.4 >> 1188 "Toonybara" 0.4 >> >> >> Desired result: >> >> 1787 "Toomyvara" 0.5 >> 1188 "Toonybara" 0.4 >> >> Gets rid of the duplicate "no" keeping the spelling with the greater >> similarity and presents the remaining result ordered by similarity. >> >>[...] >[...] does this work ? > >SELECT no, name, MAX(similarity(name, 'Tooneyvara')) AS sim >FROM vtown >WHERE similarity(name, 'Tooneyvara') > 0.4 >GROUP BY no, name >ORDER BY sim DESC > >-- >Robins Tharakan Thank you for yuor suggestion, Robins. Unfortunately, it does not work; this returns: 1787 "Toomyvara" 0.5 1787 "Toomevara" 0.4 1188 "Toonybara" 0.4 because while column "no" is identical, "name" isn't and you're grouping by both of them.
В списке pgsql-sql по дате отправления: