Ответ 1
Это то, что делает group_concat.
select group_concat(id) as video_list
from videos
where duration=0
У меня есть запрос, который будет возвращать значения, но я нуждаюсь в них как один вывод, разделенный запятыми.
Итак, я попытался выполнить вывод с запятой, но это не сработало?
select id from videos where duration=0; /// this would return some rows
Я пробовал concat и concat_ws, но не работал
select concat(select concat(id,',') from videos where duration=0);
select concat((select id from videos where duration=0),',');
select concat_ws(',',(select id from videos where duration=0));
Мне нужен идентификатор всех строк с запятой
например, выход должен быть 1,4,6,78,565
любые идеи?
Это то, что делает group_concat.
select group_concat(id) as video_list
from videos
where duration=0
Попробуйте использовать GROUP_CONCAT
GROUP_CONCAT([DISTINCT] expr [,expr ...]
[ORDER BY {unsigned_integer | col_name | expr}
[ASC | DESC] [,col_name ...]]
[SEPARATOR str_val])
Ссылка: http://dev.mysql.com/doc/refman/5.0/en/group-by-functions.html#function_group-concat
Используйте group_concat:
Эта функция возвращает результат строки с объединенными значениями, отличными от NULL, из группы. Он возвращает NULL, если нет значений, отличных от NULL.
SELECT
GROUP_CONCAT(id)
FROM
videos
WHERE
duration=0