Re: [SQL ] 從資料表累加找尋最大值印出
※ 引述《lovewo (誠懇先生)》之銘言:
: 我有一個資料表叫做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(欄位)
: 但是我是先累加再去求,就沒辦法使用,小弟是新手
試試
sql語法:select top(2) Ec_Pdsnum,SUM(Ec_Buycart) from eccart
group by Ec_Pdsnum order by Ec_Pdsnum asc
我不董php其它的你測試一下
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.46.155.72
推
04/19 12:19, , 1F
04/19 12:19, 1F
→
04/20 09:27, , 2F
04/20 09:27, 2F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):