У меня есть база данных, и я выложу пример.
guildid botid
1234 ["2345","3456","3714","1812"]
9876 ["8765","5432"]
4346 NULL
2371 ["3179"]
1254 NULL
1257 ["1721","7104","8265"]
8321 NULL
Мне нужно вывести количество ботидов, в этом примере ответ = 10
. В БД 7 записей, но всего 10 идентификаторов, которые не равны NULL. Обычно я делал бы SELECT count(*) FROM watchedbots
Однако это только подсчитывает, сколько существует записей. В некоторых случаях ботид также может быть NULL
, поэтому мне нужно, чтобы он игнорировал пустые записи. Я довольно нов, когда дело доходит до массивов, поэтому любая помощь будет оценена. Модуль, который я использую для SQL: better-sqlite3
Редактировать: развернуть пример
Если я сделаю следующее:
const dataGrab = db.prepare('SELECT botid FROM watchedbots').all()
const stringify = JSON.stringify(dataGrab)
console.log(stringify)
Я получу вывод: [{"botid":null},{"botid":null},{"botid":null},{"botid":"["1721","7104","8265"]"},{"botid":"["2345","3456","3714","1812"]"},{"botid":"["3179"]"},{"botid":"["8765","5432"]"}]
То, что я предполагаю, является хорошим следующим шагом, хотя я не уверен, куда бы я go оттуда.