发布于 2020-09-29 11:20:23
我想出了一种查找表行数的方法。这是一个完整的解决方案,有一些基本的注释,
//Create expression of count
var countExp = persons.id.count();
//Moor creates query from Expression so, they don't have value unless you execute it as query.
//Following query will execute experssion on Table.
final query = selectOnly(persons)..addColumns([countExp]);
var result = await query.map((row) => row.read(countExp)).getSingle();请注意,我使用的是selectOnly而不是select,因为除了Count之外,我对任何列都不感兴趣。
发布于 2021-02-23 17:51:11
如果您在计数时需要一个筛选条件,那么您可以将调用顶级函数countAll与命名参数filter放在一起,如下所示。
var count = countAll(filter: persons.id.isSmallerThanValue(100));
var res = await (selectOnly(persons)..addColumns([count]))
.map((row) => row.read(count))
.getSingle();它现在被记录在正式文件中。
发布于 2021-04-03 22:52:56
在我看来,典型的摩尔人方式似乎有点令人困惑。如果你有同样的感觉,你可能会回到老派,尝试:
@UseDao(
tables: [Instruments],
queries: {
'instrumentsCount': 'SELECT COUNT(*) FROM instruments;'
},
)https://stackoverflow.com/questions/59787254
复制相似问题