sql - how to get row having least value from a table in mysql -
i have written mysql query comprising couple of joins, , result follows.
id | title | type | rent ------------------------------ 1 abc low 100 2 xyz low 200 2 xyz mid 150 2 xyz high 300 3 mno low 600 3 mno mid 200
i have result group (group by
) title
having 'least rent'.
plz help.
i have following result set
id | title | type | rent ------------------------------ 1 | abc | low | 100 ------------------------------ 2 | xyz | mid | 150 ------------------------------ 3 | mno | mid | 200 ------------------------------
you can this:
select t1.* tablename t1 inner join ( select title, min(rent) minrent tablename group title ) t2 on t1.title = t2.title , t1.rent = t2.minrent;
sql fiddle demo
this give you:
| id | title | type | rent | ---------------------------- | 1 | abc | low | 100 | | 2 | xyz | mid | 150 | | 3 | mno | mid | 200 |
this give least rent each title
.
however: if looking tile has latest rent
can this:
select t1.* tablename t1 order rent limit 1
updated sql fiddle demo
this give row:
| id | title | type | rent | ---------------------------- | 1 | abc | low | 100 |
note that: if there duplicates rent
has same min rent, won't give duplicate. in case use way @user2009463 suggested.
Comments
Post a Comment