| use dataverse tpch; |
| |
| declare function revenue() { |
| for $l in dataset('LineItem') |
| where $l.l_shipdate >= '1996-01-01' and $l.l_shipdate < '1996-04-01' |
| group by $l_suppkey := $l.l_suppkey with $l |
| return { |
| "supplier_no": $l_suppkey, |
| "total_revenue": sum(for $i in $l return $i.l_extendedprice * (1 - $i.l_discount)) |
| } |
| } |
| |
| let $m := max( |
| for $r2 in revenue() |
| return $r2.total_revenue |
| ) |
| |
| for $s in dataset('Supplier') |
| for $r in revenue() |
| where $s.s_suppkey = $r.supplier_no and $r.total_revenue<$m+0.000000001 and $r.total_revenue>$m-0.000000001 |
| return { |
| "s_suppkey": $s.s_suppkey, |
| "s_name": $s.s_name, |
| "s_address": $s.s_address, |
| "s_phone": $s.s_phone, |
| "total_revenue": $r.total_revenue |
| } |