 問題:現有如下數據表,用戶表: Members(QQnumber,userid); 充值表: Payment(payid,userid,paytime,amount); 查詢2012年各個月充值最多的用戶的qqnumber,要求根據qqnumber進行匯總(提示:一個qqnumber可能會有多個游戲角色數據,多條充值記錄;paytime為充值時間,),請寫出SQL語句。創建的表如下。Members表
問題:現有如下數據表,用戶表: Members(QQnumber,userid); 充值表: Payment(payid,userid,paytime,amount); 查詢2012年各個月充值最多的用戶的qqnumber,要求根據qqnumber進行匯總(提示:一個qqnumber可能會有多個游戲角色數據,多條充值記錄;paytime為充值時間,),請寫出SQL語句。創建的表如下。Members表

 Payment表
Payment表
 查詢語句如下:方法一:SELECT MAX( amount ) , t.qqnumber, t.MONTH  FROM (SELECT MONTH( a.paytime ) MONTH , b.qqnumber, SUM( a.amount ) amount  FROM payment a, members bWHERE a.userid = b.userid  AND YEAR( a.paytime ) = '2016' GROUP BY b.qqnumber, MONTH ) AS t  GROUP BY t.MONTH;方法二:SELECT MAX( amount ) , t.qqnumber, t.month FROM (SELECT MONTH( p.paytime ) AS MONTH , SUM( p.amount ) AS amount, m.qqnumber AS qqnumberFROM Members m JOIN Payment p ON m.userid = p.useridWHERE YEAR( p.paytime ) =2016 GROUP BY m.qqnumber, MONTH) AS t GROUP BY t.month;
查詢語句如下:方法一:SELECT MAX( amount ) , t.qqnumber, t.MONTH  FROM (SELECT MONTH( a.paytime ) MONTH , b.qqnumber, SUM( a.amount ) amount  FROM payment a, members bWHERE a.userid = b.userid  AND YEAR( a.paytime ) = '2016' GROUP BY b.qqnumber, MONTH ) AS t  GROUP BY t.MONTH;方法二:SELECT MAX( amount ) , t.qqnumber, t.month FROM (SELECT MONTH( p.paytime ) AS MONTH , SUM( p.amount ) AS amount, m.qqnumber AS qqnumberFROM Members m JOIN Payment p ON m.userid = p.useridWHERE YEAR( p.paytime ) =2016 GROUP BY m.qqnumber, MONTH) AS t GROUP BY t.month;新聞熱點
疑難解答