Group by是有问题的,因为我切换到PHP7,并且聚合值并不适用于我想要使用它的方式。
我有一个列表,有时列表中会有重复的部分。例如:
歌曲标题A歌曲标题B歌曲标题A(重复)歌曲标题C
在结果中,歌曲标题A应该只出现一次。以前,我使用group by实现了这一点,其中确定歌曲标题的ID是分组的。
我的表结构是:
id
group_id
song_title_idSong_title_id与以下内容相关:
id
song_title在第一个表中,同一song_title_id可以有多个实例。当返回结果时,我希望在结果中只有每个song_title_id的一个实例。
在此之前,我会这样做:
DB::table('group_songs')
->groupBy('song_title_id')
->get();自从更新到PHP 7后,我得到了一个错误:
Syntax error or access violation: 1055 '[table/column name]' isn't in GROUP BY我做错了什么?
发布于 2016-10-04 23:21:17
'mysql' => [
'strict' => false,
],发布于 2016-09-25 06:28:27
通过How to resolve "isn't in GROUP BY" error in mysql query,应该对每个非聚合字段进行分组,因此请尝试
DB::table('group_songs')
->groupBy('song_title_id')
->groupBy('group_id')
->groupBy('id')
->get();https://stackoverflow.com/questions/39680194
复制相似问题