数据处理之函数的使用

1. 拼接:将值联结到一起构成单个值。
Concat()拼接串,即把多个串连接起来形成一个较长的串。
例如:SELECT Concat(vend_name, '(', vend_country, ')') FROM vendors ORDER BY vend_name;
2. note
一个未命名的列不能用于客户机应用中,因为客户机没有办法引用它。
别名(alias)是一个字段或值得替换名。别名用AS关键字赋予。
3. 算术计算,支持加减乘除


4. 文本处理函数
Left()返回串左边的字符;
Length()返回串的长度;
Locate()找出串的一个子串;
Lower()将串转换为小写;
LTrim()去掉串左边的空格。
Right()返回串右边的字符;
RTrim()去掉串右边的空格。
Soundex()返回串的SOUNDEX值;一个将任何文本串转换为描述其语音表示的字母数字模式的算法。
SubString()返回子串的字符;
Upper()将文本转换为大写;
Trim()去掉串左右两边的空格。
5. 日期和时间处理函数


6. 数值处理函数


7. 汇总数据:聚集函数


(1)COUNT()函数有两种使用方式
a. 使用COUNT(*)对表中行的数目进行计数,不管表列中包含的是空值(NULL)还是非空值。
b. 使用COUNT(column)对特定列中具有值的行进行计数,忽略NULL值。
(2)对非数值数据使用MAX()和MIN()
虽然MAX()和MIN()一般用来找出最大和最小的数值或日期值,但MySQL允许将它用来返回任意列中的最大值和最小值,包括返回文本中的最大值和最小值。在用于文本数据时,如果数据按相应的列排序,则MAX()返回最后一行,MIN()返回最前面的行。
(3)NULL值
MAX()函数、MIN()函数、SUM()函数忽略列值为NULL的行。
(4)聚集不同值DISTINCT的使用
以上五个聚集函数都可以如下使用:
a. 对所有的行执行计算,指定ALL参数或不给参数(因为ALL是默认行为);
b. 只包含不同的值,指定DISTINCT参数。
例如:
SELECT AVG(DISTINCT prod_price) AS avg_price FROM products WHERE vend_id = 1003;
注:取平均值时只考虑供应商为1003的各个不同的价格;
7. 分组数据
GROUP BY子句指示MySQL分组数据,然后对每个组而不是整个结果集进行聚集。


8. 过滤分组
所有类型的WHERE子句都可以用HAVING来代替。唯一的差别是WHERE过滤行,而HAVING过滤分组。
HAVING和WHERE的差别:WHERE在数据分组前进行过滤,HAVING在数据分组后进行过滤。
例如:SELECT vend_id, COUNT(*) AS num_prods FROM products WHERE prod_price >= 10 GROUP BY vend_id HAVING COUNT(*) >= 2;
9. SELECT子句顺序
SELECT -> FROM -> WHERE -> GROUP BY -> HAVING -> ORDER BY -> LIMIT

猜你喜欢

转载自blog.csdn.net/chpllp/article/details/83376626