在我的SQL查詢PHP的MySQL複雜的順序按
SELECT unit_price,price_counter FROM products
其結果顯示在表中。該表的最後一列被命名爲「價格與計數器的百分比」。在PHP該列的公式如下:
$PercentCompare = round((float)(($UnitPrice-$PriceCounter)/$UnitPrice) * 100);
現在的客戶端請求,該表是基於最後一列進行排序。如果該列也是我的products
表中的字段或列,我可以輕鬆地執行ORDER BY
,但該列僅在使用上述公式後纔會顯示在網頁表格中。
問題是,如果該列是計算/公式的結果,如何排序或使用ORDER BY
?我正在使用準備好的聲明。我能做:
SELECT unit_price,price_counter FROM products ORDER BY round((float)((unit_price-price_counter)/unit_price) * 100)
?
編輯第2次嘗試:
$InsertCalculation = ", round((float)((unit_price - price_counter)/unit_price) * 100) AS percentagecounter";
$QueryOrderBy = "perc_list_count";
$MyQuery = "SELECT itemid, address, city, state, zipcode, county, nameofowner, unit_price, price_counter, status" . $InsertCalculation . " FROM products WHERE itemid LIKE ? AND address LIKE ? AND city LIKE ? AND state LIKE ? AND zipcode LIKE ? AND county LIKE ? ORDER BY " . $QueryOrderBy . " ASC";
嘗試'選擇UNIT_PRICE,price_counter,圓((浮動)((UNIT_PRICE-price_counter)/ UNIT_PRICE)* 100)percentCompare FROM products ORDER BY percentCompare'? – DVJex
糟糕。沒有:( – jay