我想在sequelize的select查询中做GROUP_CONCAT这里是我的要求我想要的
SELECT `group_name`, `description`, GROUP_CONCAT(`module_name`) FROM `group_access` GROUP BY `group_name`
我想在sequelize中编写这种类型的查询。
这就是我的尝试。
groupAccess.findAll({
attributes: ['group_name', 'description', 'GROUP_CONCAT(module_name)'],
group: ['group_name']
})
但它显示错误Unknown column 'GROUP_CONCAT(module_name)' in 'field list'
如何在sequelize中编写GROUP_CONCAT。我甚至在网站上搜索过但没有找到任何解决方案。任何帮助将不胜感激。
答案 0 :(得分:3)
根据 Sequelize 文档,您需要使用sequelize.fn
进行聚合:
这样的事情(未经测试):
groupAccess.findAll({
attributes: [
'group_name',
'description',
[sequelize.fn('GROUP_CONCAT', sequelize.col('module_name')), 'module_name']
],
group: ['group_name']
})
Sequelize Querying。