select a.DealerID,a.AutoID,a.auto_price,a.auto_bj_date,b.AutoID,b.AutoBrand,b.AutoType,c.DealerID,c.user_name,c.pass_word,c.user_dw,c.user_dwj,c.user_main from AutoPrice a,autoinfo b,autodealer c where c.user_dwj like '%大连%' and a.dealerid = c.dealerid and a.autoid = b.autoid GROUP BY a.DealerID 这应该是错的,select中的字段如果没有加聚合函数就得出现在group by 中
聚合函数不是你那样写的, select a.DealerID,sum(总数),avg(平均数) from AutoPrice a,autoinfo b,autodealer c where c.user_dwj like '%大连%' and a.dealerid = c.dealerid and a.autoid = b.autoid GROUP BY a.DealerID 这才是聚合函数
select a.DealerID,sum(a.Dealerid),a.AutoID,a.auto_price,a.auto_bj_date,b.AutoID,b.AutoBrand,b.AutoType,c.DealerID,c.user_name,c.pass_word,c.user_dw,c.user_dwj,c.user_main from AutoPrice a,autoinfo b,autodealer c where c.user_dwj like '%大连国合%' and a.dealerid = c.dealerid and a.autoid = b.autoid GROUP BY a.DealerID 我这样加的聚合函数!但是出错了---------------------------服务器: 消息 8120,级别 16,状态 1,行 1 列 'a.AutoID' 在选择列表中无效,因为该列既不包含在聚合函数中,也不包含在 GROUP BY 子句中。 服务器: 消息 8120,级别 16,状态 1,行 1 列 'a.auto_price' 在选择列表中无效,因为该列既不包含在聚合函数中,也不包含在 GROUP BY 子句中。 服务器: 消息 8120,级别 16,状态 1,行 1 列 'a.auto_bj_date' 在选择列表中无效,因为该列既不包含在聚合函数中,也不包含在 GROUP BY 子句中。 服务器: 消息 8120,级别 16,状态 1,行 1 列 'b.AutoID' 在选择列表中无效,因为该列既不包含在聚合函数中,也不包含在 GROUP BY 子句中。 服务器: 消息 8120,级别 16,状态 1,行 1 列 'b.AutoBrand' 在选择列表中无效,因为该列既不包含在聚合函数中,也不包含在 GROUP BY 子句中。 服务器: 消息 8120,级别 16,状态 1,行 1 列 'b.AutoType' 在选择列表中无效,因为该列既不包含在聚合函数中,也不包含在 GROUP BY 子句中。 服务器: 消息 8120,级别 16,状态 1,行 1 列 'c.DealerID' 在选择列表中无效,因为该列既不包含在聚合函数中,也不包含在 GROUP BY 子句中。 服务器: 消息 8120,级别 16,状态 1,行 1 列 'c.user_name' 在选择列表中无效,因为该列既不包含在聚合函数中,也不包含在 GROUP BY 子句中。 服务器: 消息 8120,级别 16,状态 1,行 1 列 'c.pass_word' 在选择列表中无效,因为该列既不包含在聚合函数中,也不包含在 GROUP BY 子句中。 服务器: 消息 8120,级别 16,状态 1,行 1 列 'c.user_dw' 在选择列表中无效,因为该列既不包含在聚合函数中,也不包含在 GROUP BY 子句中。 服务器: 消息 8120,级别 16,状态 1,行 1 列 'c.user_dwj' 在选择列表中无效,因为该列既不包含在聚合函数中,也不包含在 GROUP BY 子句中。 服务器: 消息 8120,级别 16,状态 1,行 1 列 'c.user_main' 在选择列表中无效,因为该列既不包含在聚合函数中,也不包含在 GROUP BY 子句中。
select a.DealerID from AutoPrice a inner join autoinfo b on a.autoid = b.autoid inner join autodealer c a.dealerid = c.dealerid where c.user_dwj like '%大连%' GROUP BY a.DealerID
a.DealerID,a.AutoID,a.auto_price,a.auto_bj_date,b.AutoID,b.AutoBrand,b.AutoType,c.DealerID,c.user_name,c.pass_word,c.user_dw,c.user_dwj,c.user_main 这些全部都要出来的话,需要在grpup by 中加上 group by a.DealerID,a.AutoID,a.auto_price,a.auto_bj_date,b.AutoID,b.AutoBrand,b.AutoType,c.DealerID,c.user_name,c.pass_word,c.user_dw,c.user_dwj,c.user_main
select a.DealerID,a.AutoID,a.auto_price,a.auto_bj_date,b.AutoID,b.AutoBrand,b.AutoType,c.DealerID,c.user_name,c.pass_word,c.user_dw,c.user_dwj,c.user_main from AutoPrice a,autoinfo b,autodealer c where c.user_dwj like '%大连%' and a.dealerid = c.dealerid and a.autoid = b.autoid GROUP BY a.DealerID,a.AutoID,a.auto_price,a.auto_bj_date,b.AutoID,b.AutoBrand,b.AutoType,c.DealerID,c.user_name,c.pass_word,c.user_dw,c.user_dwj,c.user_main
1.没有聚合函数就用group by ? 2.要获得的列全部加到group by 后面 select a.DealerID, a.AutoID, sum(a.auto_price) as price, a.auto_bj_date, b.AutoID, b.AutoBrand, b.AutoType, c.DealerID, c.user_name, c.pass_word, c.user_dw, c.user_dwj, c.user_main from AutoPrice a,autoinfo b,autodealer c where c.user_dwj like '%大连%' and a.dealerid = c.dealerid and a.autoid = b.autoid GROUP BY a.DealerID, a.auto_bj_date, b.AutoID, b.AutoBrand, b.AutoType, c.DealerID, c.user_name, c.pass_word, c.user_dw, c.user_dwj, c.user_main 感觉有点怪怪,还是把需求说出来把
这应该是错的,select中的字段如果没有加聚合函数就得出现在group by 中
select a.DealerID,sum(总数),avg(平均数) from AutoPrice a,autoinfo b,autodealer c where c.user_dwj like '%大连%' and a.dealerid = c.dealerid and a.autoid = b.autoid GROUP BY a.DealerID
这才是聚合函数
我这样加的聚合函数!但是出错了---------------------------服务器: 消息 8120,级别 16,状态 1,行 1
列 'a.AutoID' 在选择列表中无效,因为该列既不包含在聚合函数中,也不包含在 GROUP BY 子句中。
服务器: 消息 8120,级别 16,状态 1,行 1
列 'a.auto_price' 在选择列表中无效,因为该列既不包含在聚合函数中,也不包含在 GROUP BY 子句中。
服务器: 消息 8120,级别 16,状态 1,行 1
列 'a.auto_bj_date' 在选择列表中无效,因为该列既不包含在聚合函数中,也不包含在 GROUP BY 子句中。
服务器: 消息 8120,级别 16,状态 1,行 1
列 'b.AutoID' 在选择列表中无效,因为该列既不包含在聚合函数中,也不包含在 GROUP BY 子句中。
服务器: 消息 8120,级别 16,状态 1,行 1
列 'b.AutoBrand' 在选择列表中无效,因为该列既不包含在聚合函数中,也不包含在 GROUP BY 子句中。
服务器: 消息 8120,级别 16,状态 1,行 1
列 'b.AutoType' 在选择列表中无效,因为该列既不包含在聚合函数中,也不包含在 GROUP BY 子句中。
服务器: 消息 8120,级别 16,状态 1,行 1
列 'c.DealerID' 在选择列表中无效,因为该列既不包含在聚合函数中,也不包含在 GROUP BY 子句中。
服务器: 消息 8120,级别 16,状态 1,行 1
列 'c.user_name' 在选择列表中无效,因为该列既不包含在聚合函数中,也不包含在 GROUP BY 子句中。
服务器: 消息 8120,级别 16,状态 1,行 1
列 'c.pass_word' 在选择列表中无效,因为该列既不包含在聚合函数中,也不包含在 GROUP BY 子句中。
服务器: 消息 8120,级别 16,状态 1,行 1
列 'c.user_dw' 在选择列表中无效,因为该列既不包含在聚合函数中,也不包含在 GROUP BY 子句中。
服务器: 消息 8120,级别 16,状态 1,行 1
列 'c.user_dwj' 在选择列表中无效,因为该列既不包含在聚合函数中,也不包含在 GROUP BY 子句中。
服务器: 消息 8120,级别 16,状态 1,行 1
列 'c.user_main' 在选择列表中无效,因为该列既不包含在聚合函数中,也不包含在 GROUP BY 子句中。
a.DealerID
from
AutoPrice a
inner join autoinfo b on a.autoid = b.autoid
inner join autodealer c a.dealerid = c.dealerid
where
c.user_dwj like '%大连%'
GROUP BY a.DealerID
这些全部都要出来的话,需要在grpup by 中加上 group by a.DealerID,a.AutoID,a.auto_price,a.auto_bj_date,b.AutoID,b.AutoBrand,b.AutoType,c.DealerID,c.user_name,c.pass_word,c.user_dw,c.user_dwj,c.user_main
DealerID=1的时候后面出现的AutoID,auto_price不可能只有一个的,所以你这样的思路是不对的
2.要获得的列全部加到group by 后面
select a.DealerID,
a.AutoID,
sum(a.auto_price) as price,
a.auto_bj_date,
b.AutoID,
b.AutoBrand,
b.AutoType,
c.DealerID,
c.user_name,
c.pass_word,
c.user_dw,
c.user_dwj,
c.user_main
from AutoPrice a,autoinfo b,autodealer c
where c.user_dwj like '%大连%'
and a.dealerid = c.dealerid
and a.autoid = b.autoid
GROUP BY a.DealerID,
a.auto_bj_date,
b.AutoID,
b.AutoBrand,
b.AutoType,
c.DealerID,
c.user_name,
c.pass_word,
c.user_dw,
c.user_dwj,
c.user_main
感觉有点怪怪,还是把需求说出来把