У меня есть таблица с именем orders
:
| order_id | user_id |
| 91881 | a001 |
| 82191 | a002 |
| 73817 | a001 |
| 91289 | a003 |
| 81828 | a002 |
| 82917 | a002 |
Я хочу создать новую таблицу, состоящую из уникального user_id и количества заказов, сделанных пользователем.
| user_id | total_orders |
| a001 | 2 |
| a002 | 3 |
| a003 | 1 |
Для новой таблицы, которую я написал
CREATE TABLE new_table AS (SELECT DISTINCT user_id FROM orders);
ALTER TABLE new_table
ADD (total_orders INT)
Проблема возникает, когда я пытаюсь обновить столбец total_orders
, написав этот код
UPDATE new_table
SET new_table.total_orders = (
SELECT COUNT(DISTINCT(order_id)) FROM orders
GROUP BY user_id
ORDER BY user_id ASC)
WHERE new.user_id = (SELECT DISTINCT user_id FROM orders);
и в результате "Подзапрос возвращает более 1 строки"
Что следует изменить в коде обновления?
Заранее спасибо.