sql groupby-求解,SQL group by的一个问题。

问题描述

求解,SQL group by的一个问题。

——来自scott表。
select deptno,ename
from emp
group by deptno
其中deptno,ename都是emp表中的列名,但是老师说group by之后select中只能出现分组后的整体信息,不能出现组内的详细信息,说这是错的。但是分组后ename不也是group里面的整体信息吗?本人小白才开始接触SQL,想不明白,求大神开导下,谢谢。

解决方案

group by之后select的列必须是聚合的列,比如用了max min count sum函数得到的列,不能是普通字段,道理很简单,你分组以后每个组是很多记录,没有分组的字段的值可能不同,你选择字段,你选择的是哪个呢?

解决方案二:

SQL Union和SQL Union All两者用法区别效率以及与order by 和 group by配合问题
sql中group by的用法及版本问题
SQL: GROUP BY Clause

解决方案三:

select deptno,ename
from emp
group by deptno 是按deptno来分组,那么当你有多个相同的deptno,但是ename不同时他只会显示第一条的结果,其他的不显示,group by 是跟聚会函数一起使用才体现他的功能

解决方案四:

你一个组里所有name一样啊?name是个人信息,不是整体信息

解决方案五:

group by与聚合函数一起用,你的sql里只有列名,没有函数

时间: 2024-11-03 21:02:45

sql groupby-求解,SQL group by的一个问题。的相关文章

select-想知道SQL group by的一个问题。小白求教。。

问题描述 想知道SQL group by的一个问题.小白求教.. 比如现有表Ad_inf _id name describe 1 test1 d1 2 test2 d2 3 test2 d2 4 test2 d3 5 test3 d2 6 test4 d4 执行select * from Ad_inf group by name,describe 得到的是什么样的? 解决方案 select * from Ad_inf group by name,describe 如果你是使用oracle查询,这

select-SQL难题求解!SQL难题求解!

问题描述 SQL难题求解!SQL难题求解! SELECT a.PNO , a.Uname , isnull(a.pronum - b.SPCnumber,0) AS sjxsnum FROM ( SELECT TOP 100 PERCENT cong.PNO , zhu.Uname , SUM(cong.BenCiNum) pronum FROM dbo.TBFaHuo zhu RIGHT JOIN ( SELECT PNO , BenCiNum , FhId FROM dbo.TBFaHuoD

代码-SQL请教,关于 group by

问题描述 SQL请教,关于 group by 我跑下面这段代码的时候,出现这样的提示: 请问哪里出问题了? drop table if exists fz_yn3; create table fz_yn3 as select z.user_id,z.nick,z.appkey,z.company,z.plan,b.cust_id,b.shop_cat_name,b.gmt_create,b.seller_star_name,b.shop_start from fz_yn2 z left oute

Sql语句,当在页面插入一个字段的时候,和数据库中的表字段进行对比,有这个名字就数量相加

问题描述 Sql语句,当在页面插入一个字段的时候,和数据库中的表字段进行对比,有这个名字就数量相加 Sql语句,当在页面插入一个字段的时候,和数据库中的表字段进行对比,有这个名字就数量相加,没有的话重新加入一条新的记录,Sql语句怎么实现? 当我页面添加的是"利群"时,添加一盒,那么数据库中利群这条记录中的num字段中的4变成5,如果是页面添加的是"黄鹤楼"同理,如果添加的不是name字段中的这两个,就新插入一条数据.Sql语句怎么写??急急急. 是Mysql的数据

求解sql左连接问题,能不能把空值数据连接起来

问题描述 求解sql左连接问题,能不能把空值数据连接起来 有什么办法可以把A表和B表当中有些数据为空的列连接起来 比如: A表有a1,a2,a3 B表有b1,b2,b3 按条件a1=b1连接两个表 但a1和b1中有些数据是空的,现在想把这些为空的数据放在一起连接起来. 我试过了,直接a1=b1不行,为空的数据好像不相等 解决方案 那就用联合查询试试了 解决方案二: ifnull(a1, '') = ifnull(b1, '') 这样呢 解决方案三: 刚电脑卡了 没防住多点了几下 不好意思 解决方

sql server2008r2-在SQL server2008R2中附加了另一个数据库后

问题描述 在SQL server2008R2中附加了另一个数据库后 在SQL server2008R2中附加了另一个数据库后怎样才能使原数据库的表与附加数据库的表建关系 我在自己的SQL server2008R2中原本就建了一个名为lvyou的数据库,附加了我同学的另一个名为homework的数据库后,想在homework的表里添加外键关系,主键表为lvyou的表,外键表为homework的表,发现关系对话框里的主键表列表里没有lvyou的表,只有homework自己本身的表. 菜鸟第一次问问题

求解SQL问题 代码帮调试运行 求运行结果截图

问题描述 求解SQL问题 代码帮调试运行 求运行结果截图 CREATE TABLE Course(KCID char(10)LSID char(10)BCID char(10)BZC int(10)EZC int(10)DSZ int(10)XQ int(10)BJC int(10)EJC int(10)JSID char(10)SKXQID char(10));Insert into Course values ('C语言','张三','一班'1161112'301教室','延大')Inser

sql查询表中字段值在另一个表中的字段是否出现过

问题描述 sql查询表中字段值在另一个表中的字段是否出现过 各位大神,小弟初学sql想请教一个问题~~先谢谢大家啦~~ 例如我有两个表: 表A:personal (人员表) pid name 1 aaa 2 bbb 3 ccc 4 ddd 5 eee 6 ffff 7 ggg 表B:metting (会议表,pidlist代表参加会议的人员,用"|"分隔) mid pidlist 1 |2|3|4| 2 |1|3|4| 3 |1|2|4| 我想要 列出表A中没有参加会议的人,如果按我的

sql-为什么图中的SQL代码,from里面不用填其中一个来源表呢?

问题描述 为什么图中的SQL代码,from里面不用填其中一个来源表呢? 为什么图中的代码, 子查询里面的from只有orders这个表没有customers这个表呢? 我觉得括号里面from应该有customers,是因为我觉得SQL会先运行括号里面的内容.但实际顺序是怎样的呢? 解决方案 你这是SELECT里面的子查询,表示用customers.cust_id到orders里面去查找相关的订单数量 并且这时候的子查询每次SELECT只能是出一个值,不允许在select中的子查询查找出多个值,或