あなたのクエリは、OnSalePriceの後にコンマがないことを除いて構文的に正しいです。Math.
をabsまたはmaxの前に置かないでください。おそらくセミコロンで終了するべきですが、それは通常は重要ではありません。だから、正しいクエリは次のようになります。
$query = "SELECT RegPrice, OnSalePrice, ABS(MAX(100 - (OnSalePrice)/(RegPrice) * 100)) AS DiscountIS FROM Products;";
(私もABSとMAXを大文字にしましたが、それは単にスタイルの選択だSQLは、すべてのコマンドや関数の場合を無視します。)
しかし、問題がありますこの問合せでは、MAXは集計関数であるため、表全体の最大値が戻されます。そのため、MAXなどの集約関数を使用する場合、他の属性も選択できません。したがって、各商品にRegPrice、OnSalePrice、および割引を表示する場合は、これを行う正しい方法は単にMAXを省略することです。 Math.max関数は引数の最大値しか与えないので、これはあなたがしたいことだと思われますが、この場合は引数を1つしか与えていないので、わかりません)
$query = "SELECT RegPrice, OnSalePrice, ABS(100 - (OnSalePrice)/(RegPrice) * 100) AS DiscountIS FROM Products;";
実際に正規割引価格、販売価格、および割引のいずれか大きい値を知りたい場合は、SELECT内でSELECTを実行することによって処理する必要がある、やや複雑なクエリです。
$query = "SELECT RegPrice, OnSalePrice, ABS(100 - (OnSalePrice)/(RegPrice) * 100) AS DiscountIS FROM Products WHERE ABS(100-OnSalePrice/RegPrice*100)=(SELECT ABS(MAX(100-OnSalePrice/RegPrice*100)));";
ゼロ意志による除算、書かれたようOnSalePriceがRegPriceより大きい場合RegPriceがゼロの場合は、任意のバージョンでは、これはまだ値引きとして表示していることだろうということ、しかし、注意すべきです結果。
申し訳ありません私はMATHの部分でJQueryを考えていました。私が望むのは、クエリを実行し、返されたデータとパーセンテージ値を持つデータベースからすべての値を取得することです。 – Monty