【发布时间】:2017-11-28 15:02:25
【问题描述】:
我是 laravel 新手,我想在 laravel 5.4 中编写 mysql 查询。 查询就像:
注意:避免列名..
SELECT *
FROM (SELECT DISTINCT *
FROM messages
WHERE (from_id=1 OR to_id=1)
ORDER BY created DESC) as m
GROUP BY `from_id`
我试过了,但报错。
$messages = DB::table('messagetbl')
->select('*')
->Where(function($query) use ($userid){
$query->distinct()
->where('senderid',$userid)
->orWhere('receiverid',$userid)
->orderBy('datetime','desc');
})
->groupBy('senderid')
->get();
错误:
SQLSTATE[42000]:语法错误或访问冲突:1055 SELECT 列表的表达式 #1 不在 GROUP BY 子句中,并且包含 非聚合列“db.messagetbl.id”在功能上不起作用 依赖于 GROUP BY 子句中的列;这与 sql_mode=only_full_group_by (SQL: select * from
messagetblwhere (senderid= 8 或receiverid= 8) 分组senderid)
提前致谢。
【问题讨论】:
-
添加错误的完整堆栈跟踪并更清楚地解释问题。请参阅how do I ask a good question? 更新您的问题。
标签: php mysql database laravel mysql-error-1055