我要訂購此規則上升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
感謝您的關注。
我要訂購此規則上升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
這是答案: 'SELECT * FROM albums WHERE price2> 1 ORDER BY(price - price2)/ price ASC' – CBuzatu 2012-04-23 15:18:32
順序按基於指定列的作品。您可以從基表中創建一個視圖或臨時表,其中包含一個具有基於該公式的值的新列,然後對該列進行排序。
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