![](/images/lev_menu.jpg)
![Новости](/images/a_news.jpg)
![Документация](/images/a_documents.jpg)
![Download](/images/a_download.jpg)
![Webboard](/images/a_webboard.jpg)
![Поиск](/images/a_searh.jpg)
![FAQ/ЧаВо](/images/a_faq.gif)
![Обратная связь](/images/a_mail.jpg)
|
MySQL.RU - Webboard
Вернуться
GROUP_CONCAT (AXAE) 27/03/2007 - 10:16:09
Re: GROUP_CONCAT (AXAE) 27/03/2007 - 12:40:26
Re: GROUP_CONCAT (Валерий) 19/04/2007 - 10:13:29
Re: GROUP_CONCAT (group_concat_max_len) 26/06/2007 - 16:31:03
> Original message text:
> From: AXAE - 27/03/2007 - 10:16:09
> Subject:GROUP_CONCAT
> -----------------
> Какие ограничения накладываются на работу GROUP_CONCAT?
> Этот запрос работает:
> SELECT CONCAT_WS('\r',`_profiles`.name,GROUP_CONCAT(DISTINCT CONCAT_WS('\t',
> CONCAT(Fam, ' ', LEFT(humans.`Name`,1), '. ', LEFT(LastName,1),'.'), DateBirth, `scards`.Profession)
> SEPARATOR '\r')) as LIST_DISPANCE
> FROM `scards` INNER JOIN humans ON scards.`idHuman`=humans.id
> INNER JOIN `list_profiles_on_scard` ON scards.id=`list_profiles_on_scard`.`idScard`
> INNER JOIN `_profiles` ON `list_profiles_on_scard`.`idProfile`=_profiles.`id`
> WHERE scards.idPMO=9 AND `_profiles`.`tip`='RISK'
> GROUP BY `_profiles`.name
>
> Выдает три строки с таким полем (в квадратных скобках - это символы, уже присутствующие в результирующей строке - символы возврата каретки):
> Первая строка:
> Profile.name1 [return]
> FIO1 [tab] DateBirth[return]
> FIO2 [tab] DateBirth[return]
>
> Вторая:
> Profile.name2[return]
> FIO2 [tab] DateBirth[return]
>
> Третья:
> Profile.name3[return]
> FIO3 [tab] DateBirth[return]
>
> То есть это в строках уже такие группы фамилий с заголовком.
> Но если я повторно пытаюсь сделать одну строку из этих трех (чтобы можно было ее как есть вставить в текстовый файл) с разделителем '\r':
> SELECT GROUP_CONCAT(CONCAT_WS('\r',`_profiles`.name,GROUP_CONCAT(DISTINCT CONCAT_WS('\t',
> CONCAT(Fam, ' ', LEFT(humans.`Name`,1), '. ', LEFT(LastName,1),'.'), DateBirth, `scards`.Profession)
> SEPARATOR '\r')) SEPARATOR '\r') as LIST_DISPANCE
> FROM `scards` INNER JOIN humans ON scards.`idHuman`=humans.id
> INNER JOIN `list_profiles_on_scard` ON scards.id=`list_profiles_on_scard`.`idScard`
> INNER JOIN `_profiles` ON `list_profiles_on_scard`.`idProfile`=_profiles.`id`
> WHERE scards.idPMO=9 AND `_profiles`.`tip`='RISK'
> GROUP BY `_profiles`.name
>
> он говорит "Invalid use of group function". Есть ли какое-нибудь решение? Чтобы объединить три строки из работающего первого запроса в одну с разделителем возврата каретки?
>
>
From: Валерий - 19/04/2007 - 10:13:29
Subject:GROUP_CONCAT
-----------------
При попытке использовать эту функцию ввыяснилось, что она возвращает только 1024 символа. Где установлено это ограничение?
MySQl 5.0.37 + PHP
[Это сообщение - спам!]
Последние сообщения из форума
Уважаемые посетители форума MySQL.RU!
Убедительная просьба, прежде чем задавать свой вопрос в этом форуме, обратите внимание на разделы:
- ответы на наиболее часто задаваемые вопросы - FAQ
- раздел документация
- раздел поиск по сообщениям форума и документации
Также, старайтесь наиболее подробно указывать свою ситуацию (версию операционной системы, версию MySQL,
версию программного обеспечения, по которому возникает вопрос, текст возникающих ошибок, и др.)
Помните, чем конкретнее Вы опишете ситуацию, тем больше шансов получить реальную помощь.
31732
|
|