2016-08-24 4 views
2

그것은 테이블에 결과를 표시합니다. 해당 테이블의 마지막 열은 "VS 카운터의 백분율"로 명명됩니다. PHP MySQL의 복잡한 주문

$PercentCompare = round((float)(($UnitPrice-$PriceCounter)/$UnitPrice) * 100);

지금 클라이언트가 테이블 마지막 열을 기준으로 정렬됩니다 것을 요구하고 다음과 같이 PHP에서 해당 열에 대한 공식이다. 해당 열이 내 products 테이블의 필드 또는 열인 경우 ORDER BY을 쉽게 수행 할 수 있지만 해당 열은 위 공식을 사용한 후에 만 ​​웹 페이지 테이블에 표시됩니다.

질문 : 해당 열이 계산/수식의 결과 일 경우 어떻게 ORDER BY을 정렬하거나 사용할 수 있습니까? 나는 준비된 진술을 사용하고있다. 해야합니까 :

SELECT unit_price,price_counter FROM products ORDER BY round((float)((unit_price-price_counter)/unit_price) * 100)?

편집 2 ATTEMPT :

$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"; 
+0

하여 순서 확인 FROM products ORDER BY percentCompare'? – DVJex

+0

죄송합니다. 아무 것도 : – jay

답변

0

당신은 계산하고 다음으로 순서를 만들 수 있습니다. 당신이 다음 percentage_price을 계산할 수 있습니다 다음은이

SELECT unit_price,price_counter, 
    ROUND(((unit_price-price_counter)/unit_price) * 100) as percentage_price 
FROM products 
ORDER BY percentage_price ASC 

같은 일이 percentCompare AS UNIT_PRICE, price_counter 라운드 ((플로트) ((UNIT_PRICE-price_counter)/UNIT_PRICE) * 100) SELECT`시도

+0

당신은 round()도 덧붙여 야합니다. – scaisEdge

+0

@scaisEdge, 감사합니다. 내 대답을 편집했습니다 – keviveks

+0

이것은 작동하지 않는 것 같습니다. 결과 테이블이 비어있게됩니다. (위의 게시물을 편집했습니다. 내가 정확히 무엇을 가지고 있는지 보여 주겠다. – jay