Advertisement
Guest User

Untitled

a guest
Oct 19th, 2019
115
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.14 KB | None | 0 0
  1. SELECT
  2. `a`.*,
  3. `b`.`today_play`
  4. FROM (SELECT
  5. `a`.`user_id`,
  6. `a`.`score`,
  7. `a`.`W`,
  8. `a`.`W2`,
  9. `a`.`T`,
  10. `a`.`L`,
  11. `a`.`nickname`,
  12. `a`.`nickname_show`,
  13. GROUP_CONCAT('result:', `result`, '|match_datetime:', `match_datetime`, '|team_name:', `team_name`, '|play:', `play`, '|hopefull:', `hopefull`, '|rate:', `rate` ORDER BY match_datetime ASC) AS `result`
  14. FROM (SELECT
  15. `a`.*,
  16. `b`.`nickname`,
  17. `b`.`nickname_show`,
  18. `plays`.`play`,
  19. if(`plays`.`score` = 0, 'L', if(`plays`.`score` = 1, 'T', 'W')) AS `result`,
  20. `balls`.`match_datetime`,
  21. if(`plays`.`play` = 'home_team', `balls`.`home_team`, `balls`.`away_team`) AS `team_name`,
  22. `balls`.`hopefull`,
  23. `balls`.`rate`
  24. FROM (SELECT
  25. `user_id`,
  26. SUM(`W`) AS `W`,
  27. SUM(`w2`) AS `W2`,
  28. SUM(`T`) AS `T`,
  29. SUM(`L`) AS `L`,
  30. SUM((`score` * `W`) + (`score` * `W2`) + (`score` * `T`) + (`score` * `L`)) AS `score`
  31. FROM (SELECT
  32. `user_id`,
  33. SUM(`score`) AS `score`,
  34. if(`result` = 'L', `count_result`, 0) AS `L`,
  35. if(`result` = 'T', `count_result`, 0) AS `T`,
  36. if(`result` = 'W2', `count_result`, 0) AS `W2`,
  37. if(`result` = 'W', `count_result`, 0) AS `W`
  38. FROM (SELECT
  39. `user_id`,
  40. `score`,
  41. if(`score` = 0, 'L', if(`score` = 1, 'T', if(`score` = 2, 'W2', 'W'))) AS `result`,
  42. COUNT(`user_id`) AS `count_result`
  43. FROM `plays`
  44. WHERE `match_date` >= '2019-10-01' AND `match_date` <= '2019-10-31'
  45. AND `status` = 1
  46. GROUP BY `user_id`, `score`
  47. ORDER BY `user_id`) AS `a`
  48. GROUP BY `user_id`, `score`) AS `a`
  49. GROUP BY `user_id`) AS `a`
  50.  
  51. INNER JOIN `users` AS `b` ON `a`.`user_id` = `b`.`id` AND `b`.`league` = 'outrank'
  52.  
  53. INNER JOIN `plays`
  54. ON `a`.`user_id` = `plays`.`user_id`
  55. AND `plays`.`match_date` >= '2019-10-01' AND `match_date` <= '2019-10-31'
  56. AND `status` = 1
  57.  
  58. INNER JOIN `balls`
  59. ON `plays`.`ball_id` = `balls`.`id`) AS `a`
  60. GROUP BY `user_id`
  61. ORDER BY `score` DESC, SUM(`W` + `W2` + `T` + `L`) ASC, `L` ASC, `W` DESC, `W2` DESC) AS `a`
  62. LEFT JOIN (SELECT `user_id`, if(`plays`.`play` = 'home_team', `balls`.`home_team`, `balls`.`away_team`) AS `today_play`
  63. FROM (SELECT *
  64. FROM `plays`
  65. WHERE `id` IN (SELECT MAX(`id`) AS `id`
  66. FROM `plays`
  67. WHERE `status` = 0
  68. GROUP BY `user_id`)) AS `plays`
  69. INNER JOIN `balls`
  70. ON `plays`.`ball_id` = `balls`.`id`
  71. WHERE `status` = 0) AS `b`
  72. ON `a`.`user_id` = `b`.`user_id`
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement