【发布时间】:2012-08-25 22:31:43
【问题描述】:
我在燃料 php 中加入 SUM 时遇到了一点问题。
当我这样使用它时
$query = DB::select(
'stream_post.*',
'SUM(stream_comment.comment_stream_id)'
)->from('stream_post');
$query->join('stream_comment', 'LEFT');
$query->on('stream_post.stream_id', '=', 'stream_comment.comment_stream_id');
$query->join('users_metadata');
$query->on('stream_post.user_id', '=', 'users_metadata.user_id');
$query->limit(10);
$query->order_by('stream_id', 'DESC');
$result = $query->execute();
if(count($result) > 0) {
foreach($result as $row)
{
$data[] = $row;
}
return $data;
}
我收到此错误
找不到列:1054 未知列 'SUM(stream_comment.comment_stream_id)' in 'field 我做错了什么?
【问题讨论】:
-
列
comment_stream_id存在吗? -
是的,没有 SUM 我没有问题,这可能是一个错误吗?
-
SUM(stream_comment.comment_stream_id) AS SteamSUM有什么不同吗? -
过去尝试过类似这样的逻辑,它仍然得到未知列错误
-
这很难读。构建 SQL 字符串并执行查询而不是调用所有这些函数有什么问题?此外,如果没有 group by,SUM 将永远无法工作。如果不对非聚合列进行分组,则查询中不能有聚合列和非聚合列。
标签: mysql sql join sum fuelphp