一道比较实用的MySQL面试题:游戏数据充值查询
生活随笔
收集整理的這篇文章主要介紹了
一道比较实用的MySQL面试题:游戏数据充值查询
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
題目如下, 有兩個(gè)數(shù)據(jù)表分表是, 用戶(hù)表:?Members(qqnumber,userid);? 充值表: ? Payment(payid,userid,paytime,amount);? 查詢(xún)2012年各個(gè)月充值最多的用戶(hù)的qqnumber,要求根據(jù)qqnumber進(jìn)行匯總(提示:一個(gè)qqnumber可能會(huì)有多條充值記錄;paytime為充值時(shí)間,amount為充值金額),請(qǐng)寫(xiě)出SQL語(yǔ)句 。 首先創(chuàng)建兩個(gè)表: 然后創(chuàng)建存儲(chǔ)過(guò)程,往數(shù)據(jù)表里面插入測(cè)試數(shù)據(jù): 方法一: SELECT?MAX(?amount?)?,?t.qqnumber,?t.MONTH??FROM?( SELECT?MONTH(?a.paytime?)?MONTH?,?b.qqnumber,?SUM(?a.amount?)?amount??FROM?payment?a,?members?b
WHERE?a.userid?=?b.userid ?AND?YEAR(?a.paytime?)?=?'2012'?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?qqnumber
FROM?Members?m?JOIN?Payment?p?ON?m.userid?=?p.userid
WHERE?YEAR(?p.paytime?)?=2012?GROUP?BY?m.qqnumber,?MONTH )?AS?t?GROUP?BY?t.month; 最后查詢(xún)到的結(jié)果如下: 本文為作者原創(chuàng),轉(zhuǎn)載請(qǐng)注明出處,不對(duì)之處歡迎指正,請(qǐng)留言!
WHERE?a.userid?=?b.userid ?AND?YEAR(?a.paytime?)?=?'2012'?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?qqnumber
FROM?Members?m?JOIN?Payment?p?ON?m.userid?=?p.userid
WHERE?YEAR(?p.paytime?)?=2012?GROUP?BY?m.qqnumber,?MONTH )?AS?t?GROUP?BY?t.month; 最后查詢(xún)到的結(jié)果如下: 本文為作者原創(chuàng),轉(zhuǎn)載請(qǐng)注明出處,不對(duì)之處歡迎指正,請(qǐng)留言!
轉(zhuǎn)載于:https://www.cnblogs.com/meiguanxi/p/6114166.html
總結(jié)
以上是生活随笔為你收集整理的一道比较实用的MySQL面试题:游戏数据充值查询的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 如何注册域名-买服务器-备案-建设网站
- 下一篇: hiho一下120周 后缀数组一·重复旋