Помогите с COUNT (mysql)

Автор kak2z, 11 апреля 2015, 09:44:17

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

kak2z

Подскажите пожалуйста почему на такой запрос
SELECT COUNT(*) FROM gallery_category_relevants WHERE gallery_category_relevants.id_cat IN (5, 2, 3, 13, ,9) GROUP BY gallery_category_relevants.id_img
я получаю такую ошибку
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '9) GROUP BY gallery_category_relevants.id_img LIMIT 0, 30' at line 1
Спасибо большое.
Если нужно что то исправить, обновить, переставить, настроить, сделать форум заново - пишите в ЛС)

Сапожник

Две запятые в IN между 13 и 9
Я хостюсь на Хвостинге :) 10 Гб (15 сайтов) ~ 30$/год
Рефка: http://hvosting.ua/

kak2z

Цитата: Сапожник от 11 апреля 2015, 11:07:21
Две запятые в IN между 13 и 9
Спасибо большое)) это ошибка по невнимательности)) на самом деле же код немного другой и в условие IN подставляется массив.
код вот так вот выглядит
SELECT COUNT(*) FROM gallery_category_relevants WHERE gallery_category_relevants.id_cat IN ({array_int:daughter}) GROUP BY gallery_category_relevants.id_img
но все равно работает не так как надо...
count возвращает значение 1, хотя в базе куча записей..

в аттаче то как это выглядит)
Если нужно что то исправить, обновить, переставить, настроить, сделать форум заново - пишите в ЛС)

kak2z

Вышел из положения вот так вот

SELECT COUNT( * )
FROM (

SELECT id_img
FROM gallery_category_relevants
WHERE id_cat
IN ( 5, 2, 3, 13, 32, 9, 21 )
GROUP BY id_img
) AS id_img

но что то мне подсказывает что есть более оптимальный выбор чем вложенный запрос.

но система проверки безопастности запросов SMF не хочет пропускать этот запрос))  так что вопрос по прежнему открытый)
Если нужно что то исправить, обновить, переставить, настроить, сделать форум заново - пишите в ЛС)