【发布时间】:2020-06-21 14:44:23
【问题描述】:
现在 groupBy 已被弃用,我如何使用 Waterline ORM 模拟像 SELECT COUNT(*) FROM table GROUP BY xxx 这样的 SQL 命令?
此page 建议使用.sum() 和.avg(),但这些方法适用于数字类型的列。在这里,我希望能够计算分组列的行数,无论它是什么类型。
【问题讨论】:
现在 groupBy 已被弃用,我如何使用 Waterline ORM 模拟像 SELECT COUNT(*) FROM table GROUP BY xxx 这样的 SQL 命令?
此page 建议使用.sum() 和.avg(),但这些方法适用于数字类型的列。在这里,我希望能够计算分组列的行数,无论它是什么类型。
【问题讨论】:
我认为对于特定的 groupBy 查询,您有两个选择。
第一个是两步操作。
1) 选择您在数据库中的所有唯一元素“按字段分组”。
2) 然后按字段元素计算每个唯一组的记录。
第二个是使用.sendNativeQuery(),它允许您将本机 SQL 查询发送到数据存储区(仅当您使用真正的 SQL 服务器而不是嵌入式 Sails.JS 数据库时才能使用它)
【讨论】: