SQL Group by的问题
1.有3个表:
GOOGS G#,GNAME,PRICE 商品编号 名字 价格
SHOP S#,SNAME,AREA,MGR_NAME 商店编号 商店名 区域 经理名
SALE S#,G#,QUANTITY 商店编号 商品编号 销售数量
2.查询结果:
查询区域名为“济南”的所有的店的商店编号 商店名,总销售数量、总的销售金额
查询语句不对,请指正!
GOOGS G#,GNAME,PRICE 商品编号 名字 价格
SHOP S#,SNAME,AREA,MGR_NAME 商店编号 商店名 区域 经理名
SALE S#,G#,QUANTITY 商店编号 商品编号 销售数量
2.查询结果:
查询区域名为“济南”的所有的店的商店编号 商店名,总销售数量、总的销售金额
CREATE TABLE [dbo].[GOODS](
[G#] [varchar](50) NULL,
[GNAME] [varchar](50) NULL,
[PRICE] [money] NULL
) ON [PRIMARY]
CREATE TABLE [dbo].[SALE](
[S#] [varchar](50) NULL,
[G#] [varchar](50) NULL,
[QUANTITY] [int] NULL
) ON [PRIMARY]
CREATE TABLE [dbo].[SHOP](
[S#] [varchar](50) NULL,
[SNAME] [varchar](50) NULL,
[AREA] [varchar](50) NULL,
[MGR_NAME] [varchar](50) NULL
) ON [PRIMARY]
--我的查询语句是
select a.s#,sname,sum(QUANTITY) as SUM_QUANTITY ,sum(QUANTITY)*price as SUM_MONEY from shop a,goods b,sale c
where a.s#=c.s# and c.g#=b.g# and area='济南'
group by b.g#,gname
--消息 8120,级别 16,状态 1,第 1 行
列 'a.S#' 在选择列表中无效,因为该列既不包含在聚合函数中,也不包含在 GROUP BY 子句中。
消息 8120,级别 16,状态 1,第 1 行
列 'a.SNAME' 在选择列表中无效,因为该列既不包含在聚合函数中,也不包含在 GROUP BY 子句中。
消息 8120,级别 16,状态 1,第 1 行
列 'b.PRICE' 在选择列表中无效,因为该列既不包含在聚合函数中,也不包含在 GROUP BY 子句中。
查询语句不对,请指正!
...全文
相关推荐
MySql版本问题sql_mode=only_full_group_by的完美解决方案
`ONLY_FULL_GROUP_BY`是其中的一种模式,它强制执行SQL标准关于GROUP BY子句的规定,即在GROUP BY之后的所有选择列必须出现在聚合函数(如SUM, COUNT, AVG等)
解决MySQL 5.7.9版本sql_mode=only_full_group_by问题
`ONLY_FULL_GROUP_BY`模式是MySQL为了符合SQL标准而引入的,虽然这可能导致一些兼容性问题,但其目的是提高查询的规范性和一致性。
SQL问题详解之_having_Group by
在SQL查询中,GROUP BY和HAVING子句是数据分析和聚合操作的核心部分,它们帮助我们对数据进行分组和过滤,以获得更有意义的结果。
sql语句查询解决group by 统计重复数据问题个人总结
通常情况下我们写sql语句主键都是唯一的不会出现id重复的问题。如:查询表table1的所有数据select * from table1会显示出table1中所有字段列表。select count(*
Mysql升级到5.7后遇到的group by查询问题解决
为了解决这个问题,有几种策略:1. **修改SQL模式**: 可以临时或永久地更改`sql_mode`,移除`ONLY_FULL_GROUP_BY`。


疑难问题
