q3.sql 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. -- TPC-H/TPC-R Shipping Priority Query (Q3)
  2. -- TPC TPC-H Parameter Substitution (Version 2.17.2 build 0)
  3. -- using 1680793381 as a seed to the RNG
  4. $join1 = (
  5. select
  6. c.c_mktsegment as c_mktsegment,
  7. o.o_orderdate as o_orderdate,
  8. o.o_shippriority as o_shippriority,
  9. o.o_orderkey as o_orderkey
  10. from
  11. plato.customer as c
  12. join
  13. plato.orders as o
  14. on
  15. c.c_custkey = o.o_custkey
  16. );
  17. $join2 = (
  18. select
  19. j1.c_mktsegment as c_mktsegment,
  20. j1.o_orderdate as o_orderdate,
  21. j1.o_shippriority as o_shippriority,
  22. l.l_orderkey as l_orderkey,
  23. l.l_discount as l_discount,
  24. l.l_shipdate as l_shipdate,
  25. l.l_extendedprice as l_extendedprice
  26. from
  27. $join1 as j1
  28. join
  29. plato.lineitem as l
  30. on
  31. l.l_orderkey = j1.o_orderkey
  32. );
  33. select
  34. l_orderkey,
  35. sum(l_extendedprice * (1 - l_discount)) as revenue,
  36. o_orderdate,
  37. o_shippriority
  38. from
  39. $join2
  40. where
  41. c_mktsegment = 'MACHINERY'
  42. and CAST(o_orderdate AS Timestamp) < Date('1995-03-08')
  43. and CAST(l_shipdate AS Timestamp) > Date('1995-03-08')
  44. group by
  45. l_orderkey,
  46. o_orderdate,
  47. o_shippriority
  48. order by
  49. revenue desc,
  50. o_orderdate
  51. limit 10;