MySQL的ORDER BY XY/X ASC
问题描述:
我要订购此规则上升MySQL查询:x-y/x
MySQL的ORDER BY XY/X ASC
X =价格
Y = price2
价格和price2是从MySQL中的列表。
我有这个查询,但不幸的是没有工作。
SELECT *
FROM albums
WHERE price2 > 1
ORDER BY price - price2/price ASC
感谢您的关注。
答
尝试了这一点:
$SQLquery = "SELECT * FROM albums WHERE price2 > 1 ORDER BY (price-price2)/price ASC";
或
$SQLquery = "SELECT * FROM albums WHERE price2 > 1 ORDER BY ((price-price2)/price) ASC";
答
你应该尝试:
SELECT * FROM albums
WHERE price2 > 1
ORDER BY ((price - price2)/price) ASC
或
SELECT albums.*, ((price - price2)/price) myvar FROM albums
WHERE price2 > 1
ORDER BY myvar ASC
+0
这是答案: 'SELECT * FROM albums WHERE price2> 1 ORDER BY(price - price2)/ price ASC' – CBuzatu 2012-04-23 15:18:32
答
顺序按基于指定列的作品。您可以从基表中创建一个视图或临时表,其中包含一个具有基于该公式的值的新列,然后对该列进行排序。
+2
MySQL不需要至少,它会高兴地排序大多数表达式。 – 2012-04-23 15:19:18
究竟你是 “不工作” 是什么意思?有错误吗?你没有得到结果吗?你得到的结果,但他们不是你所期望的?如果可以,请添加例子。 – Wiseguy 2012-04-23 15:13:52
查询确实给出了一个没有错误的结果,至少是结果是不是意外? http://sqlfiddle.com/#!2/05344/1 – 2012-04-23 15:16:46