kura2yamato

DB: jmlah order untuk masing2 negara!!

Apr 28th, 2022 (edited)
803
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
MySQL 1.53 KB | None | 0 0
  1. #### CHEK : https://www.db-fiddle.com/f/d26boLZsWqWs6WaVfT7FA9/0
  2. ##########SKEMA###############
  3. CREATE TABLE `tb_order` (
  4.   `id` int(11) NOT NULL,
  5.   `buyid` int(11) NOT NULL,
  6.   `itemid` int(11) NOT NULL
  7. );
  8. INSERT INTO `tb_order` (`id`, `buyid`, `itemid`) VALUES
  9. (1, 1, 10),
  10. (2, 1, 11),
  11. (3, 2, 13),
  12. (4, 3, 15),
  13. (5, 4, 17),
  14. (6, 5, 10),
  15. (7, 6, 14),
  16. (8, 5, 14),
  17. (9, 6, 11);
  18. CREATE TABLE `tb_user` (
  19.   `id` int(11) NOT NULL,
  20.   `buyid` int(11) NOT NULL,
  21.   `negara` char(3) NOT NULL
  22. ) ;
  23.  
  24. INSERT INTO `tb_user` (`id`, `buyid`, `negara`) VALUES
  25. (1, 1, 'NA'),
  26. (2, 2, 'NA'),
  27. (3, 3, 'MY'),
  28. (4, 4, 'MY'),
  29. (5, 5, 'AUS'),
  30. (6, 6, 'AUS'),
  31. (7, 7, 'INA'),
  32. (14, 14, 'MY')
  33. ;
  34. ##############QUERY#################
  35. SELECT if(count(*)>0, 1,0) num,o.buyid,u.negara FROM `tb_order` o
  36. join tb_user u on u.buyid=o.buyid
  37. where o.itemid % 2 = 0
  38. group by o.buyid,u.negara;
  39. ###########
  40. select sum(usr) c, tb_negara.negara
  41. from
  42. (
  43. select count(*) usr,u.negara from tb_user u group by u.negara
  44. ) tb_negara
  45. group by tb_negara.negara;
  46. ##########
  47.     select 1 c,u.buyid,u.negara from tb_order o
  48.     join tb_user u on u.buyid=o.buyid
  49.     where o.itemid%2=0
  50.     group by u.negara,u.buyid;
  51. ##########
  52. select tb_negara.negara,if(sum(nBuyer)>0,sum(nBuyer),0) c
  53. from
  54. (
  55. select u.negara from tb_user u group by u.negara
  56. ) tb_negara
  57. left join
  58. (
  59.     select 1 nBuyer,u.buyid,u.negara from tb_order o
  60.     join tb_user u on u.buyid=o.buyid
  61.     where o.itemid%2=0
  62.     group by u.negara,u.buyid
  63. ) tb_orders
  64. on tb_orders.negara = tb_negara.negara
  65. group by tb_negara.negara;
Add Comment
Please, Sign In to add comment