[SQL ] 從資料表累加找尋最大值印出

看板Database作者 (誠懇先生)時間15年前 (2010/04/19 06:17), 編輯推噓1(102)
留言3則, 2人參與, 最新討論串1/2 (看更多)
我有一個資料表叫做eccart 欄位名稱和格式如下 ======================================= Ec_Pdsnum | Ec_Buycart | getdate| --------------------------------------- coffee1 | 5 | 2010-04-15| --------------------------------------- coffee2 | 5 | 2010-04-15| --------------------------------------- coffee1 | 6 | 2010-04-15| --------------------------------------- coffee3 | 3 | 2010-04-15| ---------------------------------------- coffee4 | 2 | 2010-04-15| --------------------------------------- coffee2 | 1 | 2010-04-15| ---------------------------------------- .... 從這裏我想要取得 coffee1 的數量是11>coffee2>coffee3的數量 印出coffee1的值和名稱,還有第2大的coffee2的值跟名稱 因為Ec_Pdsum的值是從別的地方寫入,所以是會隨意變大的 我的寫法是 $sql = "SELECT Ec_Pdsnum FROM eccart"; mysql_query("SET NAMES 'big5'"); $result = mysql_query($sql, $link); if (!$result) die("執行 SQL 命令失敗"); else{ $conn=mysql_connect("localhost","root","qwer") or die("error". mysql_error()); mysql_select_db("member",$conn) or die ("error: ".mysql_error()); while ($row = mysql_fetch_assoc($result)) { $check_num = $row['Ec_Pdsnum']; $sql2 = "SELECT count(*) FROM eccart WHERE Ec_Pdsnum = '$check_num' "; mysql_query("SET NAMES 'big5'"); $result2=mysql_db_query("member",$sql2,$conn); if (!$result2) die("執行 SQL 2命令失敗"); $row2 = mysql_fetch_row($result2); } 可是寫到這邊就毫無頭緒了 因為好像沒有count和max用的函式 那我如果要把最大的跟第2大的印出來要怎麼使用? 我是使用PHP語法寫的,不過主要是資料庫這邊抓值不懂 有查過最大值的寫法是 select max(欄位) 但是我是先累加再去求,就沒辦法使用,小弟是新手 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 112.104.94.150 ※ 編輯: lovewo 來自: 112.104.94.150 (04/19 06:24)

04/19 09:40, , 1F
幫你的table正規化吧加上一個序號 用sql可以做累加排序
04/19 09:40, 1F

04/19 09:57, , 2F
!!
04/19 09:57, 2F

04/19 11:33, , 3F
請盡量僅以 sql 作為發問內容,不要夾雜前端語言
04/19 11:33, 3F
文章代碼(AID): #1BouJVWg (Database)
文章代碼(AID): #1BouJVWg (Database)