Thread: sort / limit / range problem
Hi folks, I've got a glossary table that I'm trying to render to HTML. However, I've got a problem when using order by and limit. Below is an example of a psql session showing my problem. Anyone got any reasons why the last select misses 'Driver'? nymr=# select glterm from glossary where glterm like 'D%' order by glterm; glterm ----------------DampersDartDetonatorsDisposalDomeDraw BarDriverDriving WheelsDuty Fitter (9 rows) nymr=# select glterm from glossary where glterm > 'Driving Wheels' limit 1; glterm -------------Duty Fitter (1 row) nymr=# select glterm from glossary where glterm > 'Draw Bar' limit 1; glterm ----------------Driving Wheels (1 row) nymr=# \d glossary Table "glossary"Attribute | Type | Modifier -----------+-----------------------+-----------------------------------------------------glid | integer | not null default nextval('glossary_glid_seq'::text)glterm | character varying(30) | not nullgldesc | text | Indices: glossary_pkey, glossary_term_index nymr=# -- Gary Stainburn This email does not contain private or confidential material as it may be snooped on by interested government parties for unknown and undisclosed purposes - Regulation of Investigatory Powers Act, 2000
> Hi folks, > > I've got a glossary table that I'm trying to render to HTML. > However, I've got a problem when using order by and limit. Below > is an example of a psql session showing my problem. Anyone got any > reasons why the last select misses 'Driver'? > Everything is ok. Without order by, limit has undeterminated result. It is described in Postgresql documentation. Try this: select glterm from glossary where glterm > 'Driving Wheels' order by glterm limit 1 select glterm from glossary where glterm > 'Draw Bar' order by glterm limit 1 Regards, Tomasz Myrta
On Wed, 5 Mar 2003, Gary Stainburn wrote: > Hi folks, > > I've got a glossary table that I'm trying to render to HTML. However, I've > got a problem when using order by and limit. Below is an example of a psql > session showing my problem. Anyone got any reasons why the last select misses > 'Driver'? You forgot ORDER BY glterm > > nymr=# select glterm from glossary where glterm like 'D%' order by glterm; > glterm > ---------------- > Dampers > Dart > Detonators > Disposal > Dome > Draw Bar > Driver > Driving Wheels > Duty Fitter > (9 rows) > > nymr=# select glterm from glossary where glterm > 'Driving Wheels' limit 1; > glterm > ------------- > Duty Fitter > (1 row) > > nymr=# select glterm from glossary where glterm > 'Draw Bar' limit 1; > glterm > ---------------- > Driving Wheels > (1 row) > > nymr=# \d glossary > Table "glossary" > Attribute | Type | Modifier > -----------+-----------------------+----------------------------------------------------- > glid | integer | not null default > nextval('glossary_glid_seq'::text) > glterm | character varying(30) | not null > gldesc | text | > Indices: glossary_pkey, > glossary_term_index > > nymr=# > > -- ================================================================== Achilleus Mantzios S/W Engineer IT dept Dynacom Tankers Mngmt Nikis 4, Glyfada Athens 16610 Greece tel: +30-210-8981112 fax: +30-210-8981877 email: achill@matrix.gatewaynet.com mantzios@softlab.ece.ntua.gr
On Wednesday 05 Mar 2003 6:59 pm, you wrote: > On Wed, 5 Mar 2003, Gary Stainburn wrote: > > Hi folks, > > > > I've got a glossary table that I'm trying to render to HTML. However, > > I've got a problem when using order by and limit. Below is an example of > > a psql session showing my problem. Anyone got any reasons why the last > > select misses 'Driver'? > > You forgot ORDER BY glterm Thanks you too, sometimes you can't see the wood for the trees Gary > > > nymr=# select glterm from glossary where glterm like 'D%' order by > > glterm; glterm > > ---------------- > > Dampers > > Dart > > Detonators > > Disposal > > Dome > > Draw Bar > > Driver > > Driving Wheels > > Duty Fitter > > (9 rows) > > > > nymr=# select glterm from glossary where glterm > 'Driving Wheels' limit > > 1; glterm > > ------------- > > Duty Fitter > > (1 row) > > > > nymr=# select glterm from glossary where glterm > 'Draw Bar' limit 1; > > glterm > > ---------------- > > Driving Wheels > > (1 row) > > > > nymr=# \d glossary > > Table "glossary" > > Attribute | Type | Modifier > > -----------+-----------------------+------------------------------------- > >---------------- glid | integer | not null default > > nextval('glossary_glid_seq'::text) > > glterm | character varying(30) | not null > > gldesc | text | > > Indices: glossary_pkey, > > glossary_term_index > > > > nymr=# -- Gary Stainburn This email does not contain private or confidential material as it may be snooped on by interested government parties for unknown and undisclosed purposes - Regulation of Investigatory Powers Act, 2000