SQL Версия: MariaDB 10.4.12
Мне нужно, чтобы все было в одной ячейке, но позже я заметил, что MySQL обрезает сообщение из-за ограничения длины, так как я не Я не хочу менять MySQL переменные. Я думаю, что лучший вариант - это разделить их на столбцы.
Данные, которые я получаю, хранятся за месяц, и я хочу разделить их на 4 недели. Это мой код:
SELECT
CONCAT
(
'[',
GROUP_CONCAT(json_content SEPARATOR ','),
']'
) AS json
FROM
(
SELECT JSON_OBJECT(
"day", DAY(`date`),
"month", MONTH(`date`),
"total", IFNULL(`total`, 0)
"placa", IFNULL(`placa`, 0)
"drying_machine", IFNULL(`drying_machine`, 0),
"dishwasher", IFNULL(`dishwasher`, 0)
) AS json_content
FROM `energy_kwh`
WHERE YEAR(`date`) = YEAR(CURRENT_DATE - INTERVAL 1 MONTH)
AND MONTH(`date`) = MONTH(CURRENT_DATE - INTERVAL 1 MONTH)
ORDER BY DAY(`date`)
) AS json;
Я могу фильтровать по неделям с этим AND WEEK(`date`) = WEEK(CURRENT_DATE - INTERVAL 1 MONTH + INTERVAL 1 WEEK)
, но как я могу сделать это в 4 столбца?