Advertisement
irsyad7798

Jawaban Soal punya noorman

Feb 26th, 2024
969
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PostgreSQL 2.13 KB | Source Code | 0 0
  1. -- NO 1
  2. SELECT
  3.     nama,
  4.     email,
  5.     bulan_lahir,
  6.     tanggal_registrasi
  7. FROM
  8.     `rakamin_customer`
  9. WHERE
  10.     ( email LIKE '%@yahoo.com%' OR email LIKE '%rocketmail.com%' )
  11.     AND tanggal_registrasi BETWEEN '2012-01-01'
  12.     AND '2012-03-31'
  13.     AND bulan_lahir IN ( 'Januari', 'Februari', 'Maret' );
  14.  
  15. -- NO 2
  16. SELECT
  17. A.id_order, A.id_pelanggan,  A.harga,
  18. (A.harga - (A.PPN * 100)) AS harga_setelah_ppn,
  19. (
  20.     CASE
  21.         WHEN (A.harga - (A.PPN * 100)) < 20000 THEN 'LOW'
  22.         WHEN (A.harga - (A.PPN * 100)) > 20000 AND (A.harga - (A.PPN * 100)) < 50000 THEN 'MEDIUM'
  23.         WHEN (A.harga - (A.PPN * 100)) > 50000 THEN 'HIGH'
  24. END
  25. ) AS spending_bucket
  26. FROM rakamin_order AS A;
  27.  
  28. -- NO 3
  29. SELECT
  30.     id_merchant,
  31.     COUNT( id_order ) AS jumlah_order,
  32.     SUM( harga ) AS jumlah_pendapatan
  33. FROM
  34.     rakamin_order
  35. GROUP BY
  36.     id_merchant
  37. ORDER BY
  38.     SUM( harga ) DESC;
  39.  
  40. -- NO 4
  41. SELECT
  42.     metode_bayar,
  43.     COUNT( id_order ) AS total_order
  44. FROM
  45.     rakamin_order
  46. GROUP BY
  47.     metode_bayar
  48. HAVING
  49.     total_order > 10;
  50.  
  51. -- NO 5
  52. SELECT
  53.     kota,
  54.     total_pelanggan
  55. FROM
  56.     ( SELECT kota, COUNT( id_pelanggan ) AS total_pelanggan FROM rakamin_customer_address GROUP BY kota ) AS Q
  57. WHERE
  58.     total_pelanggan = ( SELECT MAX( total_pelanggan ) FROM ( SELECT kota, COUNT( id_pelanggan ) AS total_pelanggan FROM rakamin_customer_address GROUP BY kota ) Q ) UNION
  59. SELECT
  60.     kota,
  61.     total_pelanggan
  62. FROM
  63.     ( SELECT kota, COUNT( id_pelanggan ) AS total_pelanggan FROM rakamin_customer_address GROUP BY kota ) AS Q
  64. WHERE
  65.     total_pelanggan = (
  66.     SELECT
  67.         MIN( total_pelanggan )
  68.     FROM
  69.     ( SELECT kota, COUNT( id_pelanggan ) AS total_pelanggan FROM rakamin_customer_address GROUP BY kota ) Q
  70.     );
  71.  
  72. -- NO 6
  73. SELECT
  74.     A.id_merchant,
  75.     B.nama_merchant,
  76.     A.metode_bayar,
  77.     COUNT( A.id_order ) AS frekuensi
  78. FROM
  79.     rakamin_order AS A
  80.     JOIN rakamin_merchant AS B ON A.id_merchant = B.id_merchant
  81. GROUP BY
  82.     id_merchant,
  83.     B.nama_merchant,
  84.     A.metode_bayar;
  85.    
  86. -- NO 7
  87. SELECT
  88.     A.id_pelanggan,
  89.     B.nama,
  90.     B.email,
  91.     SUM( A.id_order ) AS kuantitas
  92. FROM
  93.     rakamin_order AS A
  94.     JOIN rakamin_customer AS B ON A.id_pelanggan = B.id_pelanggan
  95. GROUP BY
  96.     A.id_pelanggan
  97. HAVING
  98.     kuantitas > 5;
  99.  
  100.  
  101.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement