Advertisement
Guest User

Untitled

a guest
Jun 29th, 2018
479
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.18 KB | None | 0 0
  1. Now we can show the user information instead of the user id:
  2.  
  3. [code]
  4. SELECT MAX(result.total) as "Total Merit", UserData.UserName, UserData.Rank as "Top merit receiver", result.SubBoard as "Local board" FROM (
  5. SELECT toid, SubBoard, SUM(Merit) AS total
  6. FROM meritdata as m
  7. WHERE m.Board in (SELECT Board FROM meritdata Where Board like "Local%" GROUP BY Board)
  8. GROUP BY toid, Board
  9. ORDER BY Board,total Desc) AS result
  10. INNER JOIN UserData ON UserData.UserId = result.toid
  11. GROUP BY SubBoard
  12. ORDER BY result.total Desc
  13. [/code]
  14.  
  15. Selecting data by a particular time frame is quite easy (all merit transaction happened the 1/06/2018):
  16.  
  17. [code]
  18. SELECT * FROM MeritData
  19. WHERE strftime('%m', date) = "06" AND strftime('%d', date) = "01" AND strftime('%y', date) = "2018";
  20. [/code]
  21.  
  22. Select by a time frame (from 2018 to 15/06/2018):
  23.  
  24. [code]
  25. SELECT * FROM MeritData
  26. WHERE date BETWEEN '2018-06-14' AND '2018-06-15';
  27. [/code]
  28.  
  29. You can also use hour minutes (and seconds) to check a 30 minutes interval:
  30.  
  31. [code]
  32. SELECT * FROM MeritData
  33. WHERE date BETWEEN '2018-06-14T15:00:00' AND '2018-06-14T15:30:00';
  34. [/code]
  35.  
  36. How many merits sent for each rank?
  37. SELECT UserData.Rank, SUM(MeritData.Merit) as Total
  38. FROM MeritData
  39. INNER JOIN UserData ON UserData.UserId = MeritData.fromid
  40. GROUP BY UserData.Rank;
  41.  
  42. How may merits sent from one rank to another?
  43. Full member to Legendary
  44.  
  45. [code]
  46. SELECT UserFullMember.Rank, UserLegendary.Rank, SUM(MeritData.Merit) as Total
  47. FROM MeritData
  48. INNER JOIN UserData as UserFullMember ON UserFullMember.UserId = MeritData.fromid AND UserFullMember.Rank like "full mem%"
  49. INNER JOIN UserData as UserLegendary ON UserLegendary.UserId = MeritData.toid AND UserLegendary.Rank like "lege%"
  50. GROUP BY UserFullMember.Rank,UserLegendary.Rank;
  51. [/code]
  52. Legendary to Full member
  53. [code]
  54. SELECT UserFullMember.Rank, UserLegendary.Rank, SUM(MeritData.Merit) as Total
  55. FROM MeritData
  56. INNER JOIN UserData as UserFullMember ON UserFullMember.UserId = MeritData.toid AND UserFullMember.Rank like "full mem%"
  57. INNER JOIN UserData as UserLegendary ON UserLegendary.UserId = MeritData.fromid AND UserLegendary.Rank like "lege%"
  58. GROUP BY UserFullMember.Rank,UserLegendary.Rank;
  59. [/code]
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement