使用两个字段对MySQL进行排序/排序

pen*_*pen 1 mysql sql database

我有一个像这样的表:

Product   Price   Sale
------------------------
Watch     10.00    6.00
Socks      8.00
Pen        4.00
Lamp      15.00   12.00
Run Code Online (Sandbox Code Playgroud)

有没有一种简单的方法可以按最低价格订购产品?

如果销售列具有我想要使用的值而不是价格列.所以按价格升序排序我会得到:

Pen
Watch
Socks
Lamp
Run Code Online (Sandbox Code Playgroud)

Ste*_*man 6

您可以使用coalesce来实现您的目标.

select * 
  from mytable
order by  coalesce(Sale, Price) ASC
Run Code Online (Sandbox Code Playgroud)

Coalesce为您提供第一个非空值.