sql server简写
-
按年分组
-
select year();有月也有日时候可以用
year -
不能直接找null值,需要where is null/is not null
组函数count()计算会忽略含有null的行的值 -
having 是在group by 之后用的,表示对分组的结果进行筛选,后面不能用where 代替
-
order by排序order by加一个分组值,会按筛选结果的字母顺序排序
-
top语句,只能在sql server用用在select后面top (2),表示筛选出结果的前两条top
top(20)percent 百分比,若结果值是5.4,则取6个 -
with ties用法,(附加),筛选前五个,还想把与第五个相同之后的也列出来,with ties
-
over用法,group by分组可以使用count函数与单个名不能放在一起,即select语句中,但有了over之后,可以了,select first time ,lastname,count(*)统计员组的个数over ()
over/group/
as 后加别名/不用as也行。over主要用于单个筛选,需要count统计时用over,筛选可以用where -
partition,用在括号中筛选
paritition by what -
四种排序,row_number按行号排,over内必须加排名条件,因为必须要有条件:over by sname/country,缺陷是有时候相同的东西也会给你进行排名,多个相同的名字排列序号不同,下面说第二种rank’排名
row number
下面三种排名,rank排名相同的会有相同的排名,但是不同的出现时会加上之前的数量,数量跨度比较大,这时候用dense——rank排名,11111,2222,跨度就不大了。
所见即所得utile里面加一个参数,分几组排名,六个分三组每组2个
混合模式加入paritition,不同的country重新按12345排名混合
- from—where—group by having—聚合函数—select—order by
- 执行顺序