Sqlite.Swift: Подсчет количества строк, у которых значение столбца / поля равно "x"

Я работаю с Sqlite.Swift уже довольно давно, и я застрял. Я пытаюсь получить Int вне .count только количество строк, содержащих String значение "1" в столбце "да или нет".

Я использовал следующую функцию для случайного выбора строки только один раз (без повторения). Я думал, что это должно быть хорошим началом для определения .count только для описанных строк, но я абсолютно не понимаю, возможно ли это.

Вот так у меня работает мой "row randomizer":

func randomNumber() -> Int {

   var randomNumber = Int(arc4random_uniform(UInt32(try! database.scalar(table.select(ItemId.distinct.count)))))

   while pickedNumber == randomNumber {

          randomNumber = Int(arc4random_uniform(UInt32(try! database.scalar(table.select(ItemId.distinct.count)))))

     }

      pickedNumber = randomNumber

      return randomNumber

  }

let randomRow = randomNumber()

Спасибо!

1 ответ

Отвечая на мой собственный вопрос:

Просто это сделал работу:

let count = try! database.scalar(tableName.where(expression == "1").count)

Редактировать:

Вы можете увидеть ! Вот. Я сделал это, потому что уверен, что есть таблица, в которой есть столбец с таким именем, содержащий ячейки, содержащие String значение 1. Если вы хотите пойти по более безопасному пути, используйте do / try / catch механик.

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