Я узнал об этом строгом режиме во время моего курса, мне посоветовали отключить его, и на данный момент я это сделал. Но если существует строгий режим, у него, безусловно, есть причина.
Сначала позвольте мне показать код, который получил ошибку
SELECT `first_name`,
`last_name`,
`order_date`,
`amount`
FROM `customers`
JOIN `orders`
ON `customers`.`id` = `orders`.`customer_id`
GROUP BY `orders`.`customer_id`;
и я получил КОД ОШИБКИ 1055 ошибка изображения
для того, что мне сказали, я должен был использовать все мои поля в GROUP BY, кроме случаев агрегирования.
Так и должно быть.
SELECT `first_name`,
`last_name`,
`order_date`,
`amount`
FROM `customers`
JOIN `orders`
ON `customers`.`id` = `orders`.`customer_id`
GROUP BY `orders`.`customer_id`,`order_date`, 'amount';
Код будет «работать», но он будет группироваться по order_date
и «количеству», а я не хочу, чтобы это происходило.
для amount
мне пришлось использовать SUM (), поэтому мне больше не приходилось его использовать в GROUP BY, но order_date
все еще там.
Поскольку amount is still here
будет отображать все параметры даты, я знаю, что возможно иметь только одну дату для идентификатора = id
для дальнейшего использования, как мне следует использовать STRICT MODE или отключить его?