SQL语句详细说明[部分]_数据库其它

SQL 语句教程 (11) Group By

我们现在回到函数上。记得我们用
SUM
这个指令来算出所有的 Sales (营业额)吧!如果我们的需求变成是要算出每一间店 (store_name) 的营业额 (sales),那怎么办呢?在这个情况下,我们要做到两件事:第一,我们对于 store_name 及 Sales 这两个栏位都要选出。第二,我们需要确认所有的 sales 都要依照各个 store_name 来分开算。这个语法为:
SELECT "栏位1", SUM("栏位2") FROM "表格名" GROUP BY "栏位1"
在我们的示范上
Store_Information 表格


store_name


sales


date


Los Angeles


$1500


jan-05-1999


San Francisco


$300


jan-08-1999


Boston


$700


jan-08-1999

我们就打入
SELECT store_name, SUM(Sales) FROM Store_Information GROUP BY store_name
结果 :
store_name SUM(Sales)
Los Angeles $1800
San Diego $250
Boston $700

当我们选不只一个栏位,且其中至少一个栏位有包含函数的运用时,我们就需要用到 GROUP BY 这个指令。在这个情况下,我们需要确定我们有 GROUP BY 所有其他的栏位。换句话说,除了有包括函数的栏位外,我们都需要将其放在 GROUP BY 的子句中。

SQL 语句教程 (12) HAVING

那我们如何对函数产生的值来设定条件呢?举例来说,我们可能只需要知道哪些店的营业额有超过 $1,500。在这个情况下,我们不能使用
WHERE
的指令。那要怎么办呢?很幸运地,SQL 有提供一个
HAVING
的指令,而我们就可以用这个指令来达到这个目标。
HAVING
子句通常是在一个 SQL 句子的最后。一个含有 HAVING 子句的 SQL 并不一定要包含
GROUP BY
子句。HAVING
的语法如下:
SELECT "栏位1", SUM("栏位2") FROM "表格名" GROUP BY "栏位1" HAVING (函数条件)
请读者注意: GROUP BY 子句并不是一定需要的。
在我们Store_Information 表格这个例子中
Store_Information 表格


store_name


sales


date


Los Angeles


$1500


jan-05-1999


San Francisco


$300


jan-08-1999


Boston


$700


jan-08-1999

我们打入
SELECT store_name, SUM(sales) FROM Store_Information GROUP BY store_name HAVING SUM(sales) > 1500
结果 :

store_name SUM(Sales)
Los Angeles $1800

时间: 2024-07-29 04:59:02

SQL语句详细说明[部分]_数据库其它的相关文章

收藏的SQL知识以及SQL语句简单实践通俗易懂_数据库其它

小引 首先说明,这个笔者2年前学习SQL的遗漏下来的笔记,由于参加完腾讯的笔试,内容比较偏向数据机构和编译以及数据库,刚好要换台本本,心里不想把它弄死在硬盘里,觉得蛮好的,所以把它都分享了,主要第一部分简单介绍SQL语言,第二部分简单实践,纯属于简单类似的记录,通俗易懂,希望对学习数据库原理的同学有一定的帮助! 主要内容: 综述 简单实践 综述 大家都知道SQL是结构化查询语言,是关系数据库的标准语言,是一个综合的,功能极强的同时又简洁易学的,它集级数据查询(Data Quest),数据操纵(D

ASP中经常使用的SQL语句与教程说明_应用技巧

1,SELECT 语句  在SQL的世界里,最最基础的操作就是SELECT 语句了.在数据库工具下直接采用SQL的时候很多人都会熟悉下面的操作: 复制代码 代码如下: SELECT what FROM whichTable WHERE criteria   执行以上语句就会创建一个存放其结果的查询.  而在ASP页面文件上,你也可以采用以上的一般语法,不过情况稍微不同,ASP编程的时候,ELECT 语句的内容要作为字符串赋给一个变量: 复制代码 代码如下: SQL = "SELECT what 

PHP通过SQL语句将数据写入MySQL数据库指定的表

PHP向MySQL数据库中写入数据有三个步骤: 1,PHP和MySQL建立连接关系 2,打开MySQL数据库 3,接受页面数据,PHP录入到指定的表中 1.2两步可直接使用一个数据库链接文件即可:conn.php <?php mysql_connect("localhost","root","");//连接MySQL mysql_select_db("hello");//选择数据库 ?> 当然,前提是已经安装WEB

sqlserver-同样SQL语句使用SQLserver跟access数据库,SQLserver可以进行增删改,而access不能

问题描述 同样SQL语句使用SQLserver跟access数据库,SQLserver可以进行增删改,而access不能 同样的SQL语句,在一SQL server做后台数据库可以实现增删改,而使用access数据库就无法实现,在未关闭自己写的程序,再次查询时,使用access数据库可以再程序中看到增删改的效果,只是在access数据库内就没有数据改动.咋么回事? 解决方案 你看连接字符串,程序操作的access文件和你打开的不是用一个文件

sql-怎么写Sql语句能把上边的数据库表查询出下边表样式的结果

问题描述 怎么写Sql语句能把上边的数据库表查询出下边表样式的结果 解决方案 这就叫做透视变换 自己谷歌下 解决方案二: http://www.cnblogs.com/luluping/archive/2012/07/26/2610705.html 解决方案三: http://www.cnblogs.com/cpcpc/archive/2013/04/08/3009021.html,这个就是列转行,看下这个.

sql语句导入excel到db2数据库

sql语句导入excel到db2数据库教程 //方法一 sql语句导入excel到db2数据库 import   from   "c:booknow.csv"   of   del   messages   "d:msg.out"     insert   into   lw_bin export   to   table.txt   of   del   modified   by   coldel,   select   *   from   table //方

[转载]让SQL运行得更快_数据库其它

一.不合理的索引设计   ----例:表record有620000行,试看在不同的索引下,下面几个 SQL的运行情况:   ---- 1.在date上建有一非个群集索引   select count(*) from record where date >   '19991201' and date < '19991214'and amount >   2000 (25秒)   select date,sum(amount) from record group by date   (55秒

node-mysql中防止SQL注入的方法总结_数据库其它

SQL注入简介 SQL注入是比较常见的网络攻击方式之一,它不是利用操作系统的BUG来实现攻击,而是针对程序员编程时的疏忽,通过SQL语句,实现无帐号登录,甚至篡改数据库. node-mysql中防止SQL注入 为了防止SQL注入,可以将SQL中传入参数进行编码,而不是直接进行字符串拼接.在node-mysql中,防止SQL注入的常用方法有以下四种: 方法一:使用escape()对传入参数进行编码: 参数编码方法有如下三个: mysql.escape(param) connection.escap

在CRUD操作中与业务无关的SQL字段赋值的方法_数据库其它

提高效率一直是个永恒的话题,编程中有一项也是可以提到效率的,那就是专注做一件事情,让其它没有强紧密联系的与之分开.这里分享下我们做CRUD时遇到的常见数据处理场景: •数据库表字段全部设计为非空,即使这个字段在业务上是可以为空的,之所以将数据库表字段全部设计为非空,这里有优点也有缺点,我们认为优点大于缺点,所以选择了它 优点: 1.获取值时,不用判断这个字段是否为null,直接可用于逻辑运算. 2.mysql DBA推荐此方案,可能是有利于性能,这里我并非求证过. 缺点: 1.业务含义没有nul