我正在group by通过Sequelize 寻找查询,似乎无法找到任何文档.
SELECT column, count(column)
FROM table
GROUP BY column
Run Code Online (Sandbox Code Playgroud) 我有一个给定的数据库,其中包含冗长,繁琐的列名.有没有办法将表名映射到模型中更短和更具描述性的propertyNames?就像是
var Employee = sql.define('Employee', {
id : {type : Sequelize.INTEGER , primaryKey: true, map : "veryLongNameForJustTheId"}
},{
tableName: 'cumbersomeTableName',
timestamps: false
});;
Run Code Online (Sandbox Code Playgroud) 我在节点js中使用sequelize ORM。我加入两个表并得到结果,但结果以表名作为前缀返回。
var Sequelize = require('sequelize');
var sequelize = new Sequelize('test', 'root', '', {
// configuration
}
});
const db = {};
db.Sequelize = Sequelize;
db.sequelize = sequelize;
db.role = require('./../model/definitions/role')(sequelize, Sequelize);
db.admin = require('./../model/definitions/admin')(sequelize, Sequelize);
db.admin.findAll({
include: [{
model: db.role,
where:{status : 'Active'},
}],
raw: true
}).then(function(result) {
console.log(result);
}).catch(function(error) {
console.log(error);
}).done();
Run Code Online (Sandbox Code Playgroud)
现在我得到这个结果:
[{
"id": 36,
"email": "test@gmail.com",
"username": "test",
"status": "Active",
"role.role_id": 1,
"role.role_name": "Admin"
}]
Run Code Online (Sandbox Code Playgroud)
但我需要这个结果:
[{
"id": 36,
"email": "test@gmail.com",
"username": "test",
"status": "Active",
"role_id": …Run Code Online (Sandbox Code Playgroud) 我正在尝试将此查询转换为序列化查询对象,正确的方法是什么?
SELECT families.id, count('answers.familyId') FROM families LEFT JOIN
answers on families.id = answers.familyId WHERE answers.isActive=1 AND
answers.answer=1 GROUP BY families.id HAVING COUNT('answers.familyId')>=6
Run Code Online (Sandbox Code Playgroud)