Возможно ли сложить все значения одного столбца таблицы с помощью запроса

vonica

Новичок
Возможно ли сложить все значения одного столбца таблицы с помощью запроса

Таблица

CITIES
cityid
city

Можно ли в одной строке получить строковую сумму всех городов используя mysql запрос,
тоесть получить такой результат

МОСКВА С.ПЕТЕРБУРГ и тд.

Заранее спасибо.
 

Gorynych

Посетитель PHP-Клуба
...а пригодилось бы
тоже - нет.

это проще сделать на стороне php-скрипта (хотя я все равно не в силах понять, зачем сливать в строку целый столбец из таблицы данных).

что на самом деле Вы пытаетесь сделать?
 

vonica

Новичок
это нужно для вложенного запароса

В примере я полностью не указал, нужно не все, а те которые IN citiesid другой таблицы, таких полей много (и много параметров поиска), сильно упростило бы поиск на сайте с помощью полнотекстового поиска, (более 30 таблиц),
 

Gorynych

Посетитель PHP-Клуба
vonica

поскольку JOIN Вам знаком (судя по другой теме), то могу покинуть мысль о том, что начиная с версии 4.1 поддерживаются подзапросы - http://mysql.com/doc/refman/4.1/en/subqueries.html (меня вот недавно в это ткнули)

возможно, чем-то могли бы помочь хранимые процедуры. Но мне лично кажется, что все можно разрулить пересмотрев структуру данных, запросы и логику.
 

vonica

Новичок
Конечно можно, все работает, но это бы упростило задачу
 

grigori

( ͡° ͜ʖ ͡°)
Команда форума
Автор оригинала: Gorynych
нет
Изучи мануал. Например, про переменные в MySQL.
MySQL manual chapter 9.3. User-Defined Variables

Если данных немного - можно через 3 запроса.
1. Инициализация переменной SET @var_name =''
2. Выборка с конкатенацией select @var_name:= CONCAT(@var_name,field) from...
3. Запрос значения переменной select @var_name


Еще варианты - временная таблица, хранимая процедура
 

Gorynych

Посетитель PHP-Клуба
grigori
вопрос был "можно ли получить ... используя mysql запрос" а не
- sql-скрипт;
- набор последовательных запросов (ибо присваивание переменной значения фактически является SQL-запросом);
- написание хранимой процедуры ( о чем я, кстати, позднее упомянул);

если столь великий знаток мануала готов написать один SQL-запрос решающий задачу в исходной формулировке, на которую давался ответ, то соблаговолите... А я смиренно посмотрю.
 

vovik

Новичок
SELECT GROUP_CONCAT(city) FROM cities

Но, как выше уже сказано, это бред и в нормальных условиях понадобиться не должно. Тем более для вложенного подзапроса.
 

Gorynych

Посетитель PHP-Клуба
vovik

здорово. Лично я такой функции не знал. Пойду действительно почитаю мануал :)

P.S. когда приводят пример, а не трепятся попусту и мануал почитать не зазорно
 

vonica

Новичок
Автор оригинала: vovik
Но, как выше уже сказано, это бред и в нормальных условиях понадобиться не должно. Тем более для вложенного подзапроса.
Раз такую функцию сделали разработчики значит она для чего-то надо и бреда некакого нет
 

grigori

( ͡° ͜ʖ ͡°)
Команда форума
А нефиг писать "нет", когда ответ на вопрос "да" ;)
Применимость ответа - отдельный вопрос, я не это комментировал.
А мануалы надо читать:) Чтобы не комплексовать, когда эх ... таки можно.
 
Сверху