Solved

MYSQL sort minimum value of 3 fields

Posted on 2013-05-14
5
414 Views
Last Modified: 2013-05-29
Hi

I have 3 fields I want to sort by in MYSQL DB.

price1, price2, price3

I want to sort my result by testing each field and sorting by the minimum value of the 3

each will contain a value and they are in no order of low to high's
0
Comment
Question by:is_numeric
5 Comments
 
LVL 48

Expert Comment

by:PortletPaul
ID: 39164466
sort by (price1 + price2 + price3)
0
 
LVL 40

Assisted Solution

by:Sharath
Sharath earned 125 total points
ID: 39164555
Sort by least(price1,price2,price3)
0
 
LVL 45

Assisted Solution

by:Kdo
Kdo earned 125 total points
ID: 39164635
I think that you'll need to create a column from the value of least() and sort by that.

  SELECT least (price1, price2, price3), {other columns}
  FROM xxx
  ORDER BY 1;
0
 
LVL 48

Assisted Solution

by:PortletPaul
PortletPaul earned 125 total points
ID: 39164753
it should not be necessary to add the calculation into the selection list, MySQL will permit sorting on calculations (and to be honest I do not like using column order as the sort method either - sometimes produces crazy unexpected results if code gets changed over time).

see:
http://sqlfiddle.com/#!9/f72c5/1

where, I prefer

order by (price1+price2+price3)

but that choice is entirely yours.
0
 
LVL 59

Accepted Solution

by:
Kevin Cross earned 125 total points
ID: 39166011
@PortletPaul, note the sort fails if a record has all low prices (e.g., 2, 5, 6), so the sum of prices is lowest even though individually each price is higher than the least of another row. see: http://sqlfiddle.com/#!9/05cb1/1

Therefore, I would combine both of the approaches. Nice work by the way Experts.
/* ... */
order by least(price1,price2,price3), (price1+price2+price3)
;

Open in new window

0

Featured Post

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

I have been using r1soft Continuous Data Protection (http://www.r1soft.com/linux-cdp/) for many years now with the mySQL Addon and wanted to share a trick I have used several times. For those of us that don't have the luxury of using all transact…
PL/SQL can be a very powerful tool for working directly with database tables. Being able to loop will allow you to perform more complex operations, but can be a little tricky to write correctly. This article will provide examples of basic loops alon…
Along with being a a promotional video for my three-day Annielytics Dashboard Seminor, this Micro Tutorial is an intro to Google Analytics API data.
With the power of JIRA, there's an unlimited number of ways you can customize it, use it and benefit from it. With that in mind, there's bound to be things that I wasn't able to cover in this course. With this summary we'll look at some places to go…

910 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

21 Experts available now in Live!

Get 1:1 Help Now