MySQLでの順位付けについて
はじめて質問させていただきます。MySQLについての質問なのですが、
以下のようなテーブル(goods)があります
テーブル名 goods
商品カテゴリ category
商品名 name
商品価格 price
テーブル名 goods
----------------
(category)(name) (price)
fashion バッグ 15000
food ラーメン 3000
fashion ポーチ 5000
fashion 腕時計 16000
food メロン 2000
----------------
↓
-----------------
(rank)(category)(name) (price)
1 fashion 腕時計 16000
2 fashion バッグ 15000
3 fashion ポーチ 5000
-----------------
上のテーブルで商品カテゴリ(category)の中の(fashion)のみを抽出して、そして商品価格(price)に関して降順に並べ替え、更に順位をつけたいのですが、以下のように
自分なりに書いてみましたがエラーが出てしまいます。色々と過去の質問等を参考にしたのですが、何卒お力添えの程よろしくお願い致します。
------------------------------------------------------------------------------------------------
<?
$conn = mysql_pconnect ("localhost", "xxx", "xxx")
or die ('I cannot connect to the database.');
mysql_select_db ("xxx",$conn);
$sql= "select x.category,x.price count(*) as rownum from goods as x,goods as y where x.price < y.price or x.price = y.price and x.category > y.category or x.price = y.price and x.category = y.category group by x.category,x.price having category = 'fashion' order by x.price desc,x.category";
;
$res = mysql_query($sql);
while($row = mysql_fetch_array($res)){
echo "<table cellpadding='0' cellspacing='0'>";
echo "<tr><td>";
echo "$row[rank]"
echo "</td>";
echo "<td>";
echo "$row[name]"
echo "</td>";
echo "<td>";
echo "$row[price]"
echo "</td></tr>";
echo "</table>";
}
?>
---------------------------------------------------------------------------------------------------
while($row = mysql_fetch_array($res)){ ・・・の行にエラーがあるというところまで解ったのですが。
お礼
ここって詐欺会社なんですか? 今まで何度か使って商品来なかった事はなかったんで、それは知らなかったです。