欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

MySQL知识点

程序员文章站 2022-05-07 19:35:46
1.WITH ROLLUP:在分组的基础上进行统计数据。 例子:首先在name字段上进行分组,然后在分组的基础上进行统计 参数说明:如果a==null,则选择b;如果b==null,则选择c;如果a!=null,则选择a;如果a b c 都为null ,则返回为null(没意义)。 以下实例中如果名 ......

1.WITH ROLLUP:在分组的基础上进行统计数据。

例子:首先在name字段上进行分组,然后在分组的基础上进行统计

mysql> SELECT name, SUM(singin) as singin_count FROM  employee_tbl GROUP BY name WITH ROLLUP;
+--------+--------------+
| name   | singin_count |
+--------+--------------+
| 小丽 |            2 |
| 小明 |            7 |
| 小王 |            7 |
| NULL |           16 |
+--------+--------------+
4 rows in set (0.00 sec)

2.coalesce 
select coalesce(a,b,c);

参数说明:如果a==null,则选择b;如果b==null,则选择c;如果a!=null,则选择a;如果a b c 都为null ,则返回为null(没意义)。

以下实例中如果名字为空我们使用总数代替:

mysql> SELECT coalesce(name, '总数'), SUM(singin) as singin_count FROM  employee_tbl GROUP BY name WITH ROLLUP;
+--------------------------+--------------+
| coalesce(name, '总数') | singin_count |
+--------------------------+--------------+
| 小丽                   |            2 |
| 小明                   |            7 |
| 小王                   |            7 |
| 总数                   |           16 |
+--------------------------+--------------+
4 rows in set (0.01 sec)

3.NULL值
(1)IS NULL: 当列的值是 NULL,此运算符返回 true。
(2)IS NOT NULL: 当列的值不为 NULL, 运算符返回 true。
(3)<=>: 比较操作符(不同于=运算符),当比较的的两个值为 NULL 时返回 true。 (4)NULL 值与任何其它值的比较(即使是 NULL)永远返回 false,即 NULL = NULL 返回false 。