會員表A 欄位: userid,username
內容:
1 張三
2 李四
消費記錄表B 欄位: userid,username,money,type
內容:
1 張三 100 1
1 張三 100 1
2 李四 100 1
2 李四 100 2
要求:按type=1類型顯示各個會員的總消費,並按消費金額排序
結果如:
張三 200元
李四 100元
回複討論(解決方案)
select t.username,sum(t.money) as sum1
from table t
where t.type=1
group by t.username
order by sum1 desc
select sum(b.money) from b left join a.userid=b.userid where b.type=1 order by sum(b.money) desc
select username,sum(money) as total from 消費記錄表B where type=1 group by username order by total desc
$strsql="select * from B where type=1"; $result=mysql_db_query($mysql_database, $strsql, $conn); mysql_data_seek($result, 0); $re = array();while ($row=mysql_fetch_row($result)) { isset($row['userid']) && $re[$row['userid']] += $row['money'];isset($row['userid']) || $re[$row['userid']] = $row['money'];} foreach($re as $key=>$value) {echo $value['username'].' '.$value['money'];}// 釋放資源 mysql_free_result($result); // 關閉串連 mysql_close($conn);
你的B表裡邊已經包含了A表的內容,有必要關聯兩個表嗎
select username,sum(money) as total from 消費記錄表B where type=1 group by userid order by total desc;