8_查询之group by.txt


select 5种子句:

where 条件查询

group by 分组

having 筛选

order by 排序

limit 限制结果条数

---------------------

group by

group by 用于统计,

一般和max min sum avg count配合使用

max求最大

min求最小

sum求总和

avg求平均

count求总行数

注意:sum是求总和,而count是求总行数。

1.max

取出本店商品中的shop_price最大值:

seclect max(shop_price) from goods;

取出每个栏目中的shop_price最大值:

seclect cat_id,max(shop_price) from goods group by cat_id;

2.min

取出每个栏目中的shop_price最小值:

seclect cat_id,min(shop_price) from goods group by cat_id;

3.sum

取出每个栏目中的shop_price总和:

seclect cat_id,sum(shop_price) from goods group by cat_id;

4.avg

取出每个栏目中的shop_price平均值:

seclect cat_id,avg(shop_price) from goods group by cat_id;

5.count

取出每个栏目中的商品种类:

seclect cat_id,count(*) from goods group by cat_id;

---------------------

注意:要把列名当成变量名来看

本店每个商品价格比市场价格低多少钱:

seclect goods_name,market_price - shop_price from goods;

查询每个栏目下面积压的货款:

select cat_id,sum(shop_price * goods_number) from goods group by cat_id;

查询每个栏目下面积压的货款,变量也可以用别名,as ,如(sum(shop_price * goods_number) as huokuan):

select cat_id,sum(shop_price * goods_number) as huokuan from goods group by cat_id;

时间: 2024-12-12 08:17:16

8_查询之group by.txt的相关文章

SQL查询语句 group by后, 字符串合并

原文:SQL查询语句 group by后, 字符串合并 合并列值 --******************************************************************************************* 表结构,数据如下: id value ----- ------ 1 aa 1 bb 2 aaa 2 bbb 2 ccc 需要得到结果: id values ------ ----------- 1 aa,bb 2 aaa,bbb,ccc 即:gr

MySQL对数据表进行分组查询(GROUP BY)

MySQL对数据表进行分组查询(GROUP BY) GROUP BY关键字可以将查询结果按照某个字段或多个字段进行分组.字段中值相等的为一组.基本的语法格式如下: GROUP BY 属性名 [HAVING 条件表达式] [WITH ROLLUP] 属性名:是指按照该字段的值进行分组. HAVING 条件表达式:用来限制分组后的显示,符合条件表达式的结果将被显示. WITH ROLLUP:将会在所有记录的最后加上一条记录.加上的这一条记录是上面所有记录的总和. GROUP BY关键字可以和GROU

Heat 支持查询 Autoscaling Group 虚拟机列表

引言 OpenStack Mailing List 中有这么一份邮件,内容如下: [Openstack] heat autoscaling group instance relationships I'm trying to figure out how to determine all instances that were created as part of a given autoscaling group. I want to take a given autoscalinggroup

单表查询: where group by 分组 having distinct 去重 order by 排序 limit 多表查询 子查询 连表查询

今日内容 表查询 单表查询: where group by 分组 having distinct 去重 order by 排序 limit 多表查询 子查询 连表查询 单表查询 前期表准备 create table emp( id int not null unique auto_increment, name varchar(20) not null, sex enum('male','female') not null default 'male', #大部分是男的 age int(3) u

读书笔记 C# Linq查询之group关键字浅析

在C#中,自从有了Linq查询表达式后,程序员对可被迭代的序列或列表执行一系列的筛选.排序.过滤.分组.查询等操作.本文章所要讲述的是group关键字. Linq查询表达式,是以from关键字开头,以select或group关键字结尾,它们之中可以插入where.orderby.join.let甚至附加的from子句. group子句返回的是一个IGrouping<TKey,TElement>对象序列,请注意,是对象序列,而不是单个对象.由于group查询产生的IGrouping<TKe

mysql经常使用查询:group by,左连接,子查询,having where

前几天去了两个比較牛的互联网公司面试.在sql这块都遇到问题了,哎.可惜呀,先把简单的梳理一下 成绩表 score 1.group by 使用 按某一个维度进行分组 比如: 求每一个同学的总分 SELECT student,SUM(score) FROM score GROUP BY student 求每一个同学的平均分 SELECT student,AVG(score) FROM score GROUP BY student 也能够依照 班级,课程 来求 2.having 与 where的差别

聚合查询,group by,where,having

在查询过程中聚合语句(sum,min,max,avg,count)要比having子句优先执行.而where子句在查询过程中执行优先级别优先于聚合语句(sum,min,max,avg,count).简单说来:where子句:select sum(num) as rmb from order where id>10//只有先查询出id大于10的记录才能进行聚合语句 having子句:select reportsto as manager, count(*) as reports from empl

mysql多表查询及其 group by 组内排序

//多表查询:得到最新的数据后再执行多表查询 SELECT *FROM `students` `st` RIGHT JOIN( SELECT * FROM ( SELECT * FROM goutong WHERE goutongs='asdf' ORDER BY time DESC ) AS gtt GROUP BY gtt.name_id ORDER BY gtt.goutong_time DESC ) gt ON `gt`.`name_id`=`st`.`id` LIMIT 10 //先按

java使用elasticsearch分组进行聚合查询(group by)

java连接elasticsearch 进行聚合查询进行相应操作 一:对单个字段进行分组求和 1.表结构图片: 根据任务id分组,分别统计出每个任务id下有多少个文字标题 1.SQL:select id, count(*) as sum from task group by taskid;   java ES连接工具类 public class ESClientConnectionUtil { public static TransportClient client=null; public f