在Sequelize中使用具有Inner Join的组给出错误

时间:2018-02-10 18:12:25

标签: node.js sequelize.js

我正在尝试编写此原始查询

 <script src="app/appConfig.js"></script>
 <script src="app/service.js"></script>
 <script src="app/controller.js"></script>

在Sequelize。

我在Sequelize中写过这个查询

SELECT users.status,count(`users`.`id`) AS `count` 
FROM `users` AS `users` 
   INNER JOIN `organization_entries` AS `organizationEntries` ON `users`.`id` = `organizationEntries`.`user_id` 
       AND `organizationEntries`.`organization_id` = '1' 
       AND `organizationEntries`.`type` = '001' 
group by users.status;

但是当我运行此查询时,我收到此错误

  

代码&#34; ER_WRONG_FIELD_WITH_GROUP&#34; errno 1055 sqlState&#34; 42000&#34;

     

sqlMessage&#34; SELECT列表的表达式#1不在GROUP BY子句中   包含nonaggregated column&#39; ontro.users.id&#39;不是   功能上依赖于GROUP BY子句中的列;这是   与sql_mode = only_full_group_by&#34;

不兼容

我无法理解我做错了什么。

1 个答案:

答案 0 :(得分:0)

  

如果启用了ONLY_FULL_GROUP_BY SQL模式,MySQL拒绝选择列表的查询,HAVING   condition或ORDER BY列表指的是非聚合列   既没有在GROUP BY子句中命名,也没有在功能上依赖   它们。

请阅读MySQL Handling of GROUP BY