Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Now we can show the user information instead of the user id:
- [code]
- SELECT MAX(result.total) as "Total Merit", UserData.UserName, UserData.Rank as "Top merit receiver", result.SubBoard as "Local board" FROM (
- SELECT toid, SubBoard, SUM(Merit) AS total
- FROM meritdata as m
- WHERE m.Board in (SELECT Board FROM meritdata Where Board like "Local%" GROUP BY Board)
- GROUP BY toid, Board
- ORDER BY Board,total Desc) AS result
- INNER JOIN UserData ON UserData.UserId = result.toid
- GROUP BY SubBoard
- ORDER BY result.total Desc
- [/code]
- Selecting data by a particular time frame is quite easy (all merit transaction happened the 1/06/2018):
- [code]
- SELECT * FROM MeritData
- WHERE strftime('%m', date) = "06" AND strftime('%d', date) = "01" AND strftime('%y', date) = "2018";
- [/code]
- Select by a time frame (from 2018 to 15/06/2018):
- [code]
- SELECT * FROM MeritData
- WHERE date BETWEEN '2018-06-14' AND '2018-06-15';
- [/code]
- You can also use hour minutes (and seconds) to check a 30 minutes interval:
- [code]
- SELECT * FROM MeritData
- WHERE date BETWEEN '2018-06-14T15:00:00' AND '2018-06-14T15:30:00';
- [/code]
- How many merits sent for each rank?
- SELECT UserData.Rank, SUM(MeritData.Merit) as Total
- FROM MeritData
- INNER JOIN UserData ON UserData.UserId = MeritData.fromid
- GROUP BY UserData.Rank;
- How may merits sent from one rank to another?
- Full member to Legendary
- [code]
- SELECT UserFullMember.Rank, UserLegendary.Rank, SUM(MeritData.Merit) as Total
- FROM MeritData
- INNER JOIN UserData as UserFullMember ON UserFullMember.UserId = MeritData.fromid AND UserFullMember.Rank like "full mem%"
- INNER JOIN UserData as UserLegendary ON UserLegendary.UserId = MeritData.toid AND UserLegendary.Rank like "lege%"
- GROUP BY UserFullMember.Rank,UserLegendary.Rank;
- [/code]
- Legendary to Full member
- [code]
- SELECT UserFullMember.Rank, UserLegendary.Rank, SUM(MeritData.Merit) as Total
- FROM MeritData
- INNER JOIN UserData as UserFullMember ON UserFullMember.UserId = MeritData.toid AND UserFullMember.Rank like "full mem%"
- INNER JOIN UserData as UserLegendary ON UserLegendary.UserId = MeritData.fromid AND UserLegendary.Rank like "lege%"
- GROUP BY UserFullMember.Rank,UserLegendary.Rank;
- [/code]
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement