作者lovewo (诚恳先生)
看板Database
标题[SQL ] 从资料表累加找寻最大值印出
时间Mon Apr 19 06:17:00 2010
我有一个资料表叫做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)
1F:→ conanist:帮你的table正规化吧加上一个序号 用sql可以做累加排序 04/19 09:40
2F:→ conanist:!! 04/19 09:57
3F:推 PsMonkey:请尽量仅以 sql 作为发问内容,不要夹杂前端语言 04/19 11:33