美文网首页
数据库学习第五天:GROUP BY/ORDER BY/HAVIN

数据库学习第五天:GROUP BY/ORDER BY/HAVIN

作者: mapg | 来源:发表于2019-10-28 11:35 被阅读0次
--主键---每个表 都应该有一个主键
--业务主键 逻辑主键  组合主键
--A表有主键,B表也有主键,B表中使用了A表中的主键做为一列,B表是外键表,A表主键表
--创建数据库,create database on primary() log on()
--创建表 ,create table 表名() primary key,not null
--数据类型 bit true false 1,0,添加时间数据,用单引号 引起来
--char(2),一个汉字,两个字母,
--varchar(2),一个汉字 两个字母,
--nchar(2),两个汉字,两个字母
--nvarchar(2),两个汉字,两个字母,
--int整数
--float小数
--datetime时间
--如何添加数据
--insert into 表名(列名) values(值),
--修改数据
--update 表名 set 列=值 where 条件
--删除数据
--delete where drop truncate 主键从默认值开始 三种方式
--6种约束,保证数据的完整性
--非空约束,主键约束,唯一约束,默认约束,检查约束,外键约束

--分组
select * from tb_score where tsenglish is null
select * from tb_score where tsenglish is not null
--英语成绩高的按数学成绩排序
select * from tb_score order by tsenglish desc ,tsmath desc
--查询英语总成绩,并按照总成绩从高到低排序
select * ,总成绩 = (tsenglish+tsmath) from tb_score order by (tsenglish+tsmath desc)
--having 分组后二次搜索
select tclassid as 班级ID,COUNT(*) as 班级人数 from tb_student group by tclassid having COUNT(*)>3
--查询班级id和班级男生的人数的,并按照班级ID分组
select tclassid as 班级ID ,CPUNT(*) as 班级人数 from tb_student where tsgender = 1 group by tclassid

--查询所有数据电话时间最长的5条
select top 5 DATEDIFF(DECOND,startDateTime,endDateTime) from tb_callRecords order by DATEDIFF(SECOND,startTime,endTime) desc
--查询号码0开头的同话总时长
select 总时长=SUM(DATEDIFF(SECOND,startDateTime,endDateTime)) from tb_callRecord where tellNum Like '0%'
--查询本月同话时长最多的前三个呼叫员的编号
select top 3 callNum, 通话时长=SUM(DATEDIFF(SECOND,startDateTime,endDateTime)) 
from tb_callRecord 
where DATEDIFF(MOUTH,startDateTime,'2019-10-28') = 0,
group by callNum
order by SUM(DATEDIFF(MOUTH,startDateTime,'2019-10-28')) desc

相关文章

网友评论

      本文标题:数据库学习第五天:GROUP BY/ORDER BY/HAVIN

      本文链接:https://www.haomeiwen.com/subject/reovvctx.html