powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / GROUP_CONCAT разной длины
3 сообщений из 3, страница 1 из 1
GROUP_CONCAT разной длины
    #39288751
nerfair
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть два запроса.

Первый:

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
	SELECT
		ROUND(`all`.`sell_price_eur`),
		ROUND(`cars`.`power_kw`)
	FROM  `cars`
	LEFT JOIN  `all` ON  `cars`.`fk_ann_all_id` =  `all`.`id`
		WHERE 1
		AND  `all`.`fk_data_ann_categories_id` = 2
		AND  `all`.`stats_add_time` > NOW( ) - INTERVAL 12 MONTH
		AND  `all`.`id` IN (1, 2, 3, 4, 5) 
		AND  `cars`.`make_id` = 44 
		AND  `cars`.`model_id` = 269 
		AND  `cars`.`fuel_id` = 32 
		AND  `cars`.`make_date` LIKE '2007%'
		AND  `cars`.`has_damaged_id` = 10924
		AND  `cars`.`steering_wheel_id` = 10922
		AND  `cars`.`power_kw` BETWEEN 25 AND 550
		AND  `all`.`sell_price_eur` > 0
		AND  `cars`.`power_kw` > 0



Возвращает два столбца с данными, оба идентичные по длинне, пустых значений нет

И второй (модифицированный GROUP_CONCAT первый)

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
	
	SELECT
		GROUP_CONCAT(ROUND(`all`.`sell_price_eur`) ORDER BY `cars`.`power_kw` ASC SEPARATOR ',') as `price_stack`,
		GROUP_CONCAT(ROUND(`cars`.`power_kw`) ORDER BY `cars`.`power_kw` ASC SEPARATOR ',') as `data_stack`
	FROM  `cars`
	LEFT JOIN  `all` ON  `cars`.`fk_ann_all_id` =  `all`.`id`
		WHERE 1
		AND  `all`.`fk_data_ann_categories_id` = 2
		AND  `all`.`stats_add_time` > NOW( ) - INTERVAL 12 MONTH
		AND  `all`.`id` IN (1, 2, 3, 4, 5)
		AND  `cars`.`make_id` = 44 
		AND  `cars`.`model_id` = 269 
		AND  `cars`.`fuel_id` = 32 
		AND  `cars`.`make_date` LIKE '2007%'
		AND  `cars`.`has_damaged_id` = 10924
		AND  `cars`.`steering_wheel_id` = 10922
		AND  `cars`.`power_kw` BETWEEN 25 AND 550
		AND  `all`.`sell_price_eur` > 0
		AND  `cars`.`power_kw` > 0



Он возвращает строки в которых количество элементов разница, если в первом запросе было два столбца по 261 элементу, то здесь я получаю две строки, в первой из которых 257 элементов, во второй 205.

Какого черта?
...
Рейтинг: 0 / 0
GROUP_CONCAT разной длины
    #39288756
nerfair
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Более того, если я добавлю к запросу COUNT(*)

Код: sql
1.
2.
3.
4.
    COUNT(`all`.`sell_price_eur`),
    COUNT(`cars`.`power_kw`),
    GROUP_CONCAT(ROUND(`all`.`sell_price_eur`) SEPARATOR ',') as `price_stack`,
    GROUP_CONCAT(ROUND(`cars`.`power_kw`) SEPARATOR ',') as `data_stack`



То получу 4 столбца, первые два из которых содержат цифры 262, о стальные все так же различающиеся строки, ни одна из которых не состоит из 262 элементов.
...
Рейтинг: 0 / 0
GROUP_CONCAT разной длины
    #39288768
nerfair
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ларчик просто открывался.

Проверяйте group_concat_max_len
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / GROUP_CONCAT разной длины
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]