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查询,这个句子会报错。
group by 的字段需要在sql中查询出来,分组字段可以不用聚合,如果报错,根据错误提醒就能搞定,
建议查找group by 知识点实践一下,例如:
select min( _id),name,describe from Ad_inf group by name,describe
得到的结果跟你写出的结果一样。

解决方案二:

应该还是你现在查的格式,.group by一般是用在sum,count这样的函数里面的

解决方案三:

group by一般要用sum,count这样的聚合函数

解决方案四:

这个地方要报错,建议你看看相关的书籍

解决方案五:

group by name,首先要看你的name是定义什么以及如何定义的,我之前在SQL Sever中做的实验是定义商场名,这条语句的执行结果会将对应结果按字母顺序排列。至于你的describe我不是很懂

解决方案六:

我们需要注意的一点,如果在返回集字段中,这些字段要么就要包含在Group By语句的后面,作为分组的依据;要么就要被包含在聚合函数中。我们可以将Group By操作想象成如下的一个过程,首先系统根据SELECT 语句得到一个结果集,如最开始的那个水果、出产国家、单价的一个详细表。然后根据分组字段,将具有相同分组字段的记录归并成了一条记录。这个时候剩下的那些不存在于Group By语句后面作为分组依据的字段就有可能出现多个值,但是当前一种分组情况只有一条记录,一个数据格是无法放入多个数值的,所以这里就需要通过一定的处理将这些多值的列转化成单值,然后将其放在对应的数据格中,那么完成这个步骤的就是聚合函数。这就是为什么这些函数叫聚合函数(aggregate functions)了。--百度百科

解决方案七:

会报错 select * from Ad_inf group by name,describe
一般group by 会配合聚合函数 count(--) ,avg(--),sum()
select name.describe, count(_id)from Ad_inf group by name,describe 表示 name,describe一样的有多少人

解决方案八:

会报错 select * from Ad_inf group by name,describe
一般group by 会配合聚合函数 count(--) ,avg(--),sum()
select name.describe, count(_id)from Ad_inf group by name,describe 表示 name,describe一样的有多少人

解决方案九:

结果应该还是现在的顺序,

解决方案十:

如果是用的 mysql 的话会查出 name 和 describe 各自分组后各自所有相同列值的首条记录列表然后合并成一个新个列表
例:
group by name
id name
1 test1
2 test2
5 test3
6 test4

group by describe
id describe
1 d1
2 d2
4 d3
6 d4

合并后为
group by name,describe
1 test1 d1
2 test2 d2
4 test2 d3
5 test3 d2
6 test4 d4

时间: 2024-10-25 18:33:43

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

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的列必须是聚合的列,比

ajax-请问一下我想在一个select框选定表名,在下一个select框中显示这个表名的字段如何实现

问题描述 请问一下我想在一个select框选定表名,在下一个select框中显示这个表名的字段如何实现 <%@page language="java" import="java.util.*" pageEncoding="utf-8"%> <%@page import="java.sql.*"%> <html> <head> <title>图书管理系统</tit

LINQ TO SQL ——Group by

原文:LINQ TO SQL --Group by 分组在SQL中应用的十分普遍,在查询,统计时都有可能会用到它.LINQ TO SQL中同样具备group的功能,这篇我来讲下LINQ TO SQL中关于group的用法.      说明:            1:group 不一定要用到多表查询中,单表查询也是可以的.            2:基本语法:                1>:group 分组后要取的字段或者是对象;                2>:by 分组对象,可以

SQL GROUP BY 语句

合计函数 (比如 SUM) 常常需要添加 GROUP BY 语句. GROUP BY 语句 GROUP BY 语句用于结合合计函数,根据一个或多个列对结果集进行分组. SQL GROUP BY 语法 SELECT column_name, aggregate_function(column_name) FROM table_name WHERE column_name operator value GROUP BY column_name SQL GROUP BY 实例 我们拥有下面这个 "Or

sql group by 语句用法

合计函数 (比如 SUM) 常常需要添加 GROUP BY 语句. GROUP BY 语句 GROUP BY 语句用于结合合计函数,根据一个或多个列对结果集进行分组. SQL GROUP BY 语法 SELECT column_name, aggregate_function(column_name) FROM table_name WHERE column_name operator value GROUP BY column_name SQL GROUP BY 实例 我们拥有下面这个 "Or

SQL GROUP BY 详解及简单实例

GROUP BY 语句用于结合 Aggregate 函数,根据一个或多个列对结果集进行分组. SQL GROUP BY 语法 SELECT column_name, aggregate_function(column_name) FROM table_name WHERE column_name operator value GROUP BY column_name; 演示数据库 在本教程中,我们将使用众所周知的 Northwind 样本数据库. 下面是选自 "Orders" 表的数据

审计SELECT语句的SQL Server 2008 T-SQL命令

SQL Server 2008中的SQL审计已经变成一个一流的服务器对象.正如前面一篇文章所提到的,现在你甚至可以审计一个要求使用SQL跟踪或者在前面版本中的其它第三方产品的SELECT语句查询.但是,虽然使用图形用户界面对于处理小的任务是很好的,尤其是第一次学习一些东西时,但是这样做可能是很乏味的,尤其是如果你重复相同的任务时.这篇文章将和前面的文章一样通过同类的Transact-SQL语句使用相同的例子.如果你想审计,我们可以假设审计在数据库中10个或者更多的表,那么这会使你更容易地做到.我

sql group by语法与实例

  sql group by语法与实例 group by 语句 group by 语句用于结合合计函数,根据一个或多个列对结果集进行分组. sql group by 语法 select column_name, aggregate_function(column_name) from table_name where column_name operator value group by column_name 来看一个group by实例 比如表里内容是这样 gameid best top s

sql group by-sql中的group by的用法

问题描述 sql中的group by的用法 user 表里面有name 和age 两个字段name age admin 34admin 56alex 38 我要对name 进行group by,select nameage from user group by name在我的印象中这句是报错的,因为不能这样显示age的,我说的对吗,而且我查询资料貌似也是不可以的啊,求解答 解决方案 对名字进行分组后,那age有多个,总得有个业务逻辑吧,比如年龄求平均(avg)或者年龄总和(sum),或者最大年龄