sql语法:sql必读必会(二)mysql中的函数大全

SQL 函数

  1. AVG 函数
    作用:AVG 函数返回数值列的平均值。NULL 值不包括在计算中
    语法:SELECT AVG(列) FROM 表

    求id平均值(实在没字段了,就是意思意思)

    id大于平均值的记录

  2. COUNT() 函数
    作用:返回匹配指定条件的行数。
    语法:SELECT COUNT(列) FROM 表

    年龄是13的记录有34行

    id大于1的年龄不同值2个

  3. FIRST() 函数
    作用:返回指定的字段中第一个记录的值。(多与order by 联合使用)
    语法:SELECT FIRST(列) FROM 表
    !!!这个划重点,贼鸡儿坑,我不知道啥数据支持这个函数,反正mysql,sqlserver,oracle都不支持。
    SQL Server 语法:
    SELECT TOP 1 column_name FROM table_name
    ORDER BY column_name ASC;

    MySQL 语法:
    SELECT column_name FROM table_name
    ORDER BY column_name ASC
    LIMIT 1;

    Oracle 语法:
    SELECT column_name FROM table_name
    ORDER BY column_name ASC
    WHERE ROWNUM <=1;

    因为我这只有mysql数据库,所以就用mysql做例子:

    排序某字段并取第一行记录值

  4. LAST() 函数
    作用:返回指定的字段中最后一个记录的值。
    语法:SELECT LAST(列) FROM 表
    这个没啥好说的了。照着上面第三个来,order by反过来就ok了!我也不多说了,毕竟mysql,sqlserver都不直接支持。

  5. MAX() 函数
    作用:返回一列中的最大值。NULL 值不包括在计算中
    语法:SELECT MAX(列) FROM 表

    最大年龄

  6. MIN() 函数
    作用:返回一列中的最小值。NULL 值不包括在计算中
    语法:SELECT MIN(列) FROM 表

    age最小值

  7. SUM() 函数
    作用:返回数值列的总数(总额)
    语法:SELECT SUM(列) FROM 表

    表中年龄总和

  8. GROUP BY 语句
    作用:用于结合合计函数,根据一个或多个列对结果集进行分组。GROUP BY 语句常常与合计函数联合使用。
    语法:SELECT 分组列,合计函数(合计列) FROM 表 (如果有条件还可以加where语句) GROUP BY 分组列
    其实我觉得这个比较复杂,也不是一个例子两个例子就能完全了解的,甚至我用的也没多少熟练,简单的写几种情况:
    因为这个要结合业务,我这里就拿已有的例子简单的写几个情景:

    每个司机的跑单总数

    订单状态为0是已完成,所以想查找每个司机已完成的订单数要加个条件,状态为0。
    每个司机已完成的订单总数

    这个和上面的类似,已完成的订单才确定钱数。
    每个司机跑单应得钱数

    规定已完成一周的订单才可以提现,现在求每个司机可提现钱数(execute不为0证明已经提现过,所以不算在内):
    这里确定订单是否已完成一周我用了最笨的一种方法,就是当时的创建时间加上七天是否小于当前实现,不小于则说明不够七天,反之同理。
    每个司机可提现钱数

    计算每个司机每天单数统计:这里是按照司机和日期两个字段分组的。实际业务中还容易出现一种需求,那就是如果某天没有数据要补0,保证日期的连续性。但是我目前的知识储备只能做一张日历表关联,比较麻烦,所以这里就不写了。如果大佬们有更好的办法麻烦告知哈,谢谢了。
    每个司机每天单数

  9. HAVING 子句
    作用:在 SQL 中增加 HAVING 子句原因是,WHERE 关键字无法与合计函数一起使用。
    语法:SELECT 分组列,合计函数(合计列) FROM 表 (如果有条件还可以加where语句) GROUP BY 分组列 HAVING 合计函数(合计列)条件

    挣钱超过一万五的司机

  10. UCASE() 函数
    作用:把字段的值转换为大写。
    语法:SELECT UCASE(列) FROM 表

    image.png

  11. LCASE() 函数
    作用:把字段的值转换为小写。
    语法:SELECT LCASE(列) FROM 表
    用法和上面的大写是一样的,我也不写demo了。

  12. MID() 函数
    作用:用于从文本字段中提取字符。
    语法:SELECT MID(列,起始下标(从1开始),截取长度(不填默认到结束)) FROM 表
    这个我理解为就是一个字符串截取。第一个参数是要截取的列,第二个参数从哪里开始截取(注意的是从1开始,不同于常用的从0开始),第三个参数可写可不写,不写默认是截取到结尾。

    从第二个到结尾

    截取1-3

  13. LEN() 函数
    作用:返回文本字段中值的长度。注意!!!!!坑又来了,mysql中这个函数写法不同,mysql中是LENGTH();
    语法:SELECT LENGTH(列) FROM 表

    司机名字的长度

  14. ROUND() 函数
    作用:用于把数值字段舍入为指定的小数位数。
    语法:SELECT ROUND(字段,小数位数) FROM 表
    因为我数据库真的没有小数能做例子,所以这里看不出效果,但是语句运行正常就说明还是有用的。

    image.png

  15. NOW() 函数
    作用:返回当前的日期和时间。
    语法:这个就是一个函数,我在上文都用到过,就不多说了。

    image.png

  16. FORMAT() 、DATE_FORMAT()
    作用:用于对字段的显示进行格式化。
    format()函数:将数据内容格式化的,可以将数据格式化为整数或者带几位小数的浮点数(四舍五入)。
    DATE_FORMAT() 函数:用于以不同的格式显示日期/时间数据。
    语法:DATE_FORMAT(date,format)
    date 参数是合法的日期。format 规定日期/时间的输出格式。

    时间格式的写法

    对,我说的莫名其妙就是因为这个格式,真的可能是我接触的少,所以很受不了。接下来是两种用法的例子:
    两种格式化的用法

先总结到这里,常用的函数应该差不多了,以后遇到新的再添加,争取每天学习一点点,不知道多久会发生质变。然后大家共勉,祝大家工作生活顺顺利利的吧!
全文手打不易,如果你觉得有帮到你或者有点用,别吝啬的点个喜欢和点个关注哦~~

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 213,928评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,192评论 3 387
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 159,468评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,186评论 1 286
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,295评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,374评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,403评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,186评论 0 269
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,610评论 1 306
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,906评论 2 328
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,075评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,755评论 4 337
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,393评论 3 320
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,079评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,313评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,934评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,963评论 2 351