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
механик.