MySQL必知必会之2
来源:互联网 发布:csp软件商业绘画 编辑:程序博客网 时间:2024/05/21 06:28
创建计算字段
拼接字段
将多个列值联结构成单个值。
SELECT Concat(vend_name, ' (', vend_country, ')') FROM vendorsORDER BY vend_name;
RTrim():去掉串右边的空格
LTrim():去掉串左边的空格
Trim():去掉串左右两边的空格
SELECT Concat(RTrim(vend_name), ' (', RTrim(vend_country), ')') FROM vendorsORDER BY vend_name;
使用别名
AS
SELECT Concat(RTrim(vend_name), ' (', RTrim(vend_country), ')') AS vend_titleFROM vendorsORDER BY vend_name;
执行算术计算
SELECT prod_id, quantity, item_price, quantity * item_price AS expanded_priceFROM orderitemsWHERE order_num = 2005;
算术运算符
+、-、*、/
使用数据处理函数
文本处理函数
Soundex 考虑类似的发音字符和音节
SELECT cust_name, cust_contact FROM customersWHERE Soundex(cust_contact) = Soundex('Y. Lie');
日期处理函数
日期,尽量使用Date()
SELECT cust_id, order_numFROM ordersWHERE Date(order_date) = '2005-09-1';
检测出9月所有的订单
SELECT cust_id, order_numFROM ordersWHERE Date(order_date) BETWEEN '2005.9.1' AND '2005.09.30';另一种方法SELECT cust_id, order_numFROM ordersWHERE Year(order_date) = 2005 AND Month(order_date) = 9;
数值处理函数
汇集数据
聚集函数
例
SELECT COUNT(*) AS num_custFROM customers;
COUNT、AVG、MAX、MIN、SUM函数忽略列值为NULL的行。COUNT(*)不忽略
聚集不同的值
取平均值,只考虑不同的价格
SELECT AVG(DISTINCT prod_price) AS avg_priceFROM productsWHERE vend_id = 1003;
组合聚集函数
SELECT COUNT(*) AS num_items, MIN(prod_pice) AS price_minFROM products;
分组数据
数据分组操作
返回每个供应商提供的产品数目。
SELECT vend_id, COUNT(*) AS num_prodsFROM productsGROUP BY vend_id;
特别注意
(1)GROUP BY子句可以包含任意数目的列
(2)GROUP BY子句中列出的每个列都必须是检索列或者有效表达式(但不能是聚集函数)。SELECT中使用表达式,则GROUP BY子句中指定相同的表达式,不能使用别名。
(3)GROUP BY 子句必须在WHERE子句之后,ORDER BY子句之前。
过滤分组—HAVING
SELECT cust_id, COUNT(*) AS ordersFROM ordersGROUP BY cust_idHAVING COUNT(*) >= 2;COUNT(*) >= 2 表示cust_id大于等于2的那些分组
HAVING 和 WHERE 区别
WHERE 在数据分组前进行过滤,HAVING在数据分组后进行过滤。
列出具有2个以上、价格大于10的产品的供应商
SELECT vend_id, COUNT(*) AS num_prodsFROM productsWHERE prod_price >= 10GROUP BY vend_idHAVING COUNT(*) >= 2;
SELECT子句顺序
0 0
- MySQL必知必会之2
- MYSQL必知必会 之触发器
- MySQL必知必会之1
- MySQL必知必会之3
- MySQL必知必会之4
- MySQL必知必会之5
- MySql技术内幕之MySQL入门(2)
- MySQL必知必会之1-4
- MySQL必知必会之5-9
- MySQL必知必会之10-14
- MySQL必知必会之15-20
- php之mysql优化2
- MySQL之初步MySQL
- 【MySql】MySql之安装
- 【MySql】MySql之管理
- 【MySql】MySql之语句
- 【MySql】MySql之事务
- 【MySql】MySql之索引
- 播放网络视频(可用)
- mysql几种性能测试的工具使用
- 设计模式
- shiro登录验证
- 简单的,到处是bug的,菜鸟自学初学写的,Java的银行存取款代码
- MySQL必知必会之2
- apk支付宝支付流程
- angular 路由拦截
- HTML5与原生开发孰优孰劣?这场战争是时候结束了
- 每天一点Linux命令
- vue.js实现用户评论、登录、注册、及修改用户部分信息功能代码。
- jsp跳转servlet以后转发或重定向以后css和js样式消失。页面布局混乱
- ListView图片错乱原因分析
- CodeForces 731 C.Socks(贪心+并查集)