select <查询列> from <表名> group by <某列的元组>
以某列中的元组为区分,这列元素相同的元组集和成一组
PS: 统计公司在不同城市的客户数量
select address as '城市',count(*)as '顾客数量' from customer group by address
group by 之后,查询的列只能是聚合函数或者以某列分组的那一列 4. like(模糊查询)
select * from <表名> where <列名>like '___'
'_'表示单个任意字符
'%'表示任意多个字符
PS:select * from employee where rtrim(emp_name) like '王__'
order by(排序)
select * from <表名> order by <列名> asc
asc -- 升序
desc --降序
注意:order by之后,就不再是表了 6. as(别名)
select <列名> as <别名> from <表名>
case when <情况一> then <处理一> when <情况二> then <处理二> end(同一列不同情况的不同处理)
每个女性员工55岁,男性员工60岁退休
计算查询每个员工的姓名,生日,入职时间以及他(她)的退休时间
select emp_name,birthday,date_hired,
case when sex = 'F' then dateadd(yy,55,birthday)
when sex = 'M' then dateadd(yy,60,birthday) end as '退休时间'
from employee
聚合函数
sum()求和
count(*)元组个数
count(<列名>)统计一列中值的个数
avg()求平均值
max()最大值
min()最小值
常用函数
getdate()取得当前系统时间
year()对时间裁剪出年
month()裁剪出月
rtrim()删除右侧空格
row_number()
select <列名> row_number() over (order by spent desc) as rowID
from <表名>
offset <开始行数> rows fetch next <结束行数> rows only