Orders

Example 1

Calculate the total revenues from Orders, and the min, max and average Order amount:

SELECT
count(*) as OrdersNumber,
sum(Amount) AS TotalRevenuesFromOrders,
min(Amount) as MinAmount,
(sum(Amount)/count(*)) as AverageAmount,
max(Amount) as MaxAmount
FROM Orders

In the Browse Tab of Studio, using the query above, this is the visualized result: Example 2

Find the year of the Orders, and how many Orders have been placed in the same year:

SELECT
count(*) as OrdersCount,
OrderDate.format('yyyy') AS OrderYear
FROM Orders
GROUP BY OrderYear
ORDER BY OrdersCount DESC

In the Browse Tab of Studio, using the query above, this is the visualized result: Example 3

Find the 3 Customers who placed most Orders:

SELECT
OrderedId as CustomerId,
in("HasCustomer").size() AS NumberOfOrders
FROM Customers
ORDER BY NumberOfOrders
DESC LIMIT 3

In the Browse Tab of Studio, using the query above, this is the visualized result: Example 4

Find the top 3 Customers in terms of spending:

SELECT
customer.OrderedId as customerOrderedId,
SUM(order.Amount) as totalAmount
FROM (
MATCH {Class: Customers, as: customer}<-HasCustomer-{class: Orders, as: order}
RETURN customer, order
)
GROUP BY customerOrderedId
ORDER BY totalAmount DESC
LIMIT 3

In the Browse Tab of Studio, using the query above, this is the visualized result: Example 5

Find all Orders placed by Customer with Id 2:

MATCH {class: Customers, as: c, where: (OrderedId=1)}<-HasCustomer-{class: Orders, as: o}
RETURN \$pathelements

In the Graph Editor included in Studio, using 'RETURN \$pathelements' as RETURN clause, this is the obtained graph: Example 6

Calculate the total revenues from Orders associated with Customer with Id 2:

SELECT sum(Amount) as TotalAmount
FROM (
SELECT expand(in('HasCustomer'))
FROM Customers
WHERE OrderedId=2
)

In the Browse Tab of Studio, using the query above, this is the obtained list of records: 