I have two tables:
customers | ||
---|---|---|
id | name | order_id |
orders | |||
---|---|---|---|
id | customer_id | date | amount |
I would like to get the first order for each customer so I used inner join
& min
on date. however, I'd like to get all order columns as well.
My SQL query is
SELECT
customers.id, customers.name,
MIN(orders.date)
FROM
customers
INNER JOIN
orders ON customers.id = orders.customer_id
GROUP BY
customers.id;
When I try to add more columns from orders table as following:
SELECT
customers.id, customers.name,
MIN(orders.date), orders.id, orders.amount
FROM
customers
INNER JOIN
orders ON customers.id = orders.customer_id
GROUP BY
customers.id;
I get an error
ERROR: column "orders.id" must appear in the GROUP BY clause or be used in an aggregate function