[2 days left] What’s wrong with your cloud strategy? Learn why multicloud solutions matter with Nimble Storage.Register Now

x
?
Solved

MYSQL sort minimum value of 3 fields

Posted on 2013-05-14
5
Medium Priority
?
435 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
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
5 Comments
 
LVL 49

Expert Comment

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

Assisted Solution

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

Assisted Solution

by:Kent Olsen
Kent Olsen earned 500 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 49

Assisted Solution

by:PortletPaul
PortletPaul earned 500 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 60

Accepted Solution

by:
Kevin Cross earned 500 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

Survive A High-Traffic Event with Percona

Your application or website rely on your database to deliver information about products and services to your customers. You can’t afford to have your database lose performance, lose availability or become unresponsive – even for just a few minutes.

Question has a verified solution.

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

Containers like Docker and Rocket are getting more popular every day. In my conversations with customers, they consistently ask what containers are and how they can use them in their environment. If you’re as curious as most people, read on. . .
In this blog post, we’ll look at how ClickHouse performs in a general analytical workload using the star schema benchmark test.
In this video, Percona Solution Engineer Rick Golba discuss how (and why) you implement high availability in a database environment. To discuss how Percona Consulting can help with your design and architecture needs for your database and infrastr…
In this video, Percona Solutions Engineer Barrett Chambers discusses some of the basic syntax differences between MySQL and MongoDB. To learn more check out our webinar on MongoDB administration for MySQL DBA: https://www.percona.com/resources/we…
Suggested Courses

649 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