Sqlite.Swift:计算列/字段值为“x”的行数

时间:2017-12-18 16:21:57

标签: swift sqlite.swift

我已经和Sqlite.Swift合作了很长一段时间而且我被卡住了。 我正在尝试从“是或否”列中仅包含Int值“1”的行数.count中获取String

我一直在使用以下功能随机选择一行(不重复)。我认为这只是一个很好的开始,只为所描述的行定义.count,但我绝对不知道这是否可行。

这就是我的“行随机发生器”的工作原理:

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 个答案:

答案 0 :(得分:1)

回答我自己的问题:

这就完成了这项工作:

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

编辑:

您可以在此处查看!。我这样做是因为我确定有一个表,其中有一个该名称的列,其中单元格的String值为1.如果您想要更安全的方式使用do / try / catch机制。