SQL 常用sql使用
1、distinct A,B 表示根据多个字段进行去重
2、datediff(A,B)=1 表示A-B为一天
- now() 表示包含年月日时分秒的时间(getdate函数为sqlserver标准尽量区分使用)、CURRENT_DATE()当前日期
- WEEKDAY(X)返回星期几
- ADDDATE
3、group及if函数结合应用示例:
Select
if(profile like "%female","female","male") as gender,
COUNT(device_id) as number
From user_submit
GROUP by gender;
4、sql的字段处理及group的结合
select substring_index(profile,',',-1) as gender,count(device_id)
from user_submit
group by gender
- 1、LOCATE(substr , str ):返回子串 substr 在字符串 str 中第一次出现的位置,如果字符substr在字符串str中不存在,则返回0;
- 2、POSITION(substr IN str ):返回子串 substr 在字符串 str 中第一次出现的位置,如果字符substr在字符串str中不存在,与LOCATE函数作用相同;
- 3、LEFT(str, length):从左边开始截取str,length是截取的长度;
- 4、RIGHT(str, length):从右边开始截取str,length是截取的长度;
- 5、SUBSTRING_INDEX(str ,substr ,n):返回字符substr在str中第n次出现位置之前的字符串;n为正则截取左边的,为负则从右边截取!
- 6、SUBSTRING(str ,n ,m):返回字符串str从第n个字符截取到第m个字符;
- 7、REPLACE(str, n, m):将字符串str中的n字符替换成m字符;
- 8、LENGTH(str):计算字符串str的长度。
5、Replace函数使用实例:
select device_id,REPLACE (blog_url,'http:/url/','') as user_name from user_submit;
替换字段blog_url的字段作为输出
6、使用group by进行分组时,select选择字段需要包含在group字段中,否则会导致结果混乱提示报错
7、count函数使用时注意,如果该字段为空则不统计