MYSQL日常小记
MySQL日常记录
今天遇到上述标题的一个业务场景,经过自己一系列操作,得出实现结论如下:
select now() from dual ORDER BY IFNULL(update_date,create_date) DESC
- IFNULL 函数说明
- IFNULL(expr1,expr2)
如果 expr1 不是 NULL,IFNULL() 返回 expr1,否则它返回 expr2 - mysql中的if()函数使用,
格式 :IF(tableColumn,A,B)–>当tableColumn为TRUE时,返回A;当tableColumn为FALSE时,返回B。
select if((5-3>0),'OK','NotOK')AS testF from dual
- Mysql中类型为int的字段,可以接受插入java层面为String类型的VO字段.
- MYSQL左连接文献:https://www.cnblogs.com/bluedeblog/p/6654065.html
需关注点: 1、select * form tab1 left join tab2 on (tab1.size = tab2.size) where tab2.name=’AAA’
2、select * form tab1 left join tab2 on (tab1.size = tab2.size and tab2.name=’AAA’)
- group_concat非常规使用:
1.以id分组,把去冗余的name字段的值打印在一行
select id,group_concat(name order by name desc) from aa group by id;
2.以id分组,把name字段的值打印在一行,逗号分隔,以name排倒序
select id,group_concat(distinct name) from aa group by id;
3.给账号前、后都加0 后,以 ‘+’ 号分隔
SELECT GROUP_CONCAT('0',xxxacount SEPARATOR '+') FROM `testTable;
SELECT id, GROUP_CONCAT(xxxacount,0 SEPARATOR '+') FROM `testTable` GROUP BY id;