SQL ВЫБОР В массиве NodeJS

У меня есть массив с результатами = ['5', '2', '11', '12', '4']; Теперь я хочу сделать подсчет SQL SELECTION на основе такого массива, то есть выполнить команду SQL SELECT IN Array. Я хочу вернуть количество строк, которые есть в этом массиве из каждого элемента, я пробовал

Команда SQL, которую я пробовал до сих пор, такая же, как на предоставленном изображении и в моей таблице.

Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
В последние годы архитектура микросервисов приобрела популярность как способ построения масштабируемых и гибких приложений. Laravel , популярный PHP...
Как построить CRUD-приложение в Laravel
Как построить CRUD-приложение в Laravel
Laravel - это популярный PHP-фреймворк, который позволяет быстро и легко создавать веб-приложения. Одной из наиболее распространенных задач в...
Освоение PHP и управление базами данных: Создание собственной СУБД - часть II
Освоение PHP и управление базами данных: Создание собственной СУБД - часть II
В предыдущем посте мы создали функциональность вставки и чтения для нашей динамической СУБД. В этом посте мы собираемся реализовать функции обновления...
Документирование API с помощью Swagger на Springboot
Документирование API с помощью Swagger на Springboot
В предыдущей статье мы уже узнали, как создать Rest API с помощью Springboot и MySql .
Роли и разрешения пользователей без пакета Laravel 9
Роли и разрешения пользователей без пакета Laravel 9
Этот пост изначально был опубликован на techsolutionstuff.com .
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
В предыдущей статье мы завершили установку базы данных, для тех, кто не знает.
0
0
379
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Результат, который вы получили, - это именно то, что я ожидал от заявления COUNT. Думаю, вы забыли добавить GROUP BY company_two.

РЕДАКТИРОВАТЬ

Чтобы справиться с ситуацией, когда компании не имеют никакой записи, вы можете:

SELECT s.company_two_id, COUNT(s.id)
FROM supplies_table s
RIGHT OUTER JOIN companies_table c ON s.company_two_id = c.company_id
WHERE company_two_id IN (...)
GROUP BY s.company_two_id;

Спасибо за ответ. Позвольте мне попробовать сгруппировать. Я также заметил, что счетчик возвращает значения NULL, когда нет затронутых строк, затронутых таким элементом массива. Позвольте мне попробовать группировку

Fezekile Plaatyi 16.10.2018 10:19

Спасибо group by GROUP BY company_two_id, за исключением того, что когда он равен нулю, он возвращает null. Пожалуйста, помогите, как я могу написать что-то вроде CASE WHEN count (id) = null count (id) = 0. Это правильно?

Fezekile Plaatyi 16.10.2018 10:23

Что-то вроде: var q = 'SELECT count (id) CASE WHEN count (id) = NULL THEN count (id) = 0 END FROM обеспечивает WHERE company_two_id IN (' + results.join (',') + ')';

Fezekile Plaatyi 16.10.2018 10:31

Это потому, что для этих идентификаторов компании нет строки. Если у вас есть другая таблица со списком компаний, вы можете попробовать сделать RIGHT OUTER JOIN, чтобы счет применялся к ним.

Anthony Garcia-Labiad 16.10.2018 11:39

:) присоединение делает это! большое спасибо! Я просто редактирую его, чтобы он работал именно так, как хочу, но он уже работает. Большое спасибо.!!!!

Fezekile Plaatyi 16.10.2018 14:00

Попробуйте ниже:

select COALESCE(count(a), 0) from table1 where b in (something) group by b

Да, я только что попробовал, но это не дает того, что мне нужно. В любом случае большое спасибо!

Fezekile Plaatyi 16.10.2018 12:00

Но я пытаюсь сделать это наоборот, например, сказать COUNT (COALESCE (a, 0)) и посмотреть оттуда, но я полагаю, это должно сработать

Fezekile Plaatyi 16.10.2018 12:24

Другие вопросы по теме