Выясните, кто заказывал и доставлял самые большие

Выясните, кто заказывал и доставлял самые большие заказы. Самыми большими считайте заказы с наибольшим числом товаров. Выведите id заказа, id пользователя и id курьера. Также в отдельных колонках укажите возраст пользователя и возраст курьера. Возраст измерьте числом полных лет. Считайте его относительно последней даты в таблице user_actions — как для пользователей, так и для курьеров. Колонки с возрастом назовите user_age и courier_age. Результат отсортируйте по возрастанию id заказа. Поля в результирующей таблице: order_id, user_id, user_age, courier_id, courier_age SELECT o.order_id, ua.user_id, DATE_PART('YEAR', MAX(ua.time) - u.birth_date) AS user_age, ca.courier_id, DATE_PART('YEAR', MAX(ua.time) - c.birth_date) AS courier_age FROM orders o JOIN user_actions ua ON o.order_id = ua.order_id JOIN ( (SELECT COUNT(*) FROM unnest(product_ids) as pid) AS products_count FROM orders GROUP BY order_id, product_ids ) p ON o.order_id = p.order_id JOIN users u ON ua.user_id = u.user_id JOIN courier_actions ca ON o.order_id = ca.order_id JOIN couriers c ON ca.courier_id = c.courier_id WHERE p.products_count = (SELECT COUNT(product_id) FROM products ORDER BY COUNT(product_id) DESC LIMIT 1) GROUP BY o.order_id, ua.user_id, u.birth_date, ca.courier_id, c.birth_date ORDER BY o.order_id ASC Error running query: syntax error at or near "FROM" LINE 12: FROM orders ^
Создано: 02.05.2023 18:19

Выясните, кто заказывал и доставлял самые большие заказы. Самыми большими считайте заказы с наибольшим числом товаров.

Выведите id заказа, id пользователя и id курьера. Также в отдельных колонках укажите возраст пользователя и возраст курьера. Возраст измерьте числом полных лет. Считайте его относительно последней даты в таблице user_actions — как для пользователей, так и для курьеров. Колонки с возрастом назовите user_age и courier_age. Результат отсортируйте по возрастанию id заказа.

Поля в результирующей таблице: order_id, user_id, user_age, courier_id, courier_age

SELECT o.order_id, ua.user_id, DATE_PART('YEAR', MAX(ua.time) - u.birth_date) AS user_age, ca.courier_id, DATE_PART('YEAR', MAX(ua.time) - c.birth_date) AS courier_age FROM orders o JOIN user_actions ua ON o.order_id = ua.order_id JOIN ( (SELECT COUNT(*) FROM unnest(product_ids) as pid) AS products_count FROM orders GROUP BY order_id, product_ids ) p ON o.order_id = p.order_id JOIN users u ON ua.user_id = u.user_id JOIN courier_actions ca ON o.order_id = ca.order_id JOIN couriers c ON ca.courier_id = c.courier_id WHERE p.products_count = (SELECT COUNT(product_id) FROM products ORDER BY COUNT(product_id) DESC LIMIT 1) GROUP BY o.order_id, ua.user_id, u.birth_date, ca.courier_id, c.birth_date ORDER BY o.order_id ASC

Error running query: syntax error at or near "FROM" LINE 12: FROM orders ^

Исправленный код:

SELECT o.order_id, ua.user_id, DATE_PART('YEAR', MAX(ua.time) - u.birth_date) AS user_age, ca.courier_id, DATE_PART('YEAR', MAX(ua.time) - c.birth_date) AS courier_age FROM orders o JOIN user_actions ua ON o.order_id = ua.order_id JOIN ( SELECT order_id, COUNT(*) AS products_count FROM unnest(product_ids) AS pid GROUP BY order_id ) p ON o.order_id = p.order_id JOIN users u ON ua.user_id = u.user_id JOIN courier_actions ca ON o.order_id = ca.order_id JOIN couriers c ON ca.courier_id = c.courier_id WHERE p.products_count = (SELECT COUNT(product_id) FROM products ORDER BY COUNT(product_id) DESC LIMIT 1) GROUP BY o.order_id, ua.user_id, u.birth_date, ca.courier_id, c.birth_date ORDER BY o.order_id ASC