Mysql基础知识点汇总

2019-01-04 20:53:14王旭

select ClassId ,COUNT(*) as num from Student where Email is not null   GROUP by ClassId having COUNT(*)>=2 order by num desc
--完整的sql查询家庭
 --5                            1                      2                                 3                                     4                                           6                                                
--select 字段列表 from 表列表  where 数据源做筛选 group by 分组字段列表 having 分组结果集做筛选 Order by  对结果集做记录重排

select ClassId ,COUNT(*) as num from Student where Email is not null   GROUP by ClassId order by ClassId desc

--关于top的执行顺序 排序之后再取top值
select top 1 ClassId ,COUNT(*) as num from Student  GROUP by ClassId  order by num desc

分组统计

7.类型转换函数

--select :输出为结果集--虚拟表
--print:以文本形式输出  只能输出一个字符串值.

print 1+'a'
select 1,2

select * from Student

--类型转换
--Convert(目标类型,源数据,[格式]) --日期有格式
print '我的成绩是:'+convert(char(3),100)

print '今天是个大日子:'+convert(varchar(30),getdate(),120)
select getdate()
select len(getdate())

--cast(源数据  as  目标类型)  它没有格式
print '我的成绩是:'+cast(100 as char(3))

8.日期函数

--getdate():获取当前服务器日期
select GETDATE()
--可以在源日期值是追加指定时间间隔的日期数
select DATEADD(dd,-90,GETDATE())
--dateDiff:找到两个日期之间指定格式的差异值
select StudentName,DATEDIFF(yyyy,getdate(),BornDate) as age from Student order by  age
--DATENAME:可以获取日期的指定格式的字符串表现形式
select DATENAME(dw,getdate())
--DATEPART:可以获取指定的日期部分