MySQL知识点
程序员文章站
2022-11-30 22:48:12
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 。