sql server简写

  • 按年分组

  • select year();有月也有日时候可以用
    year

  • 不能直接找null值,需要where is null/is not null
    组函数count()计算会忽略含有null的行的值

    null

  • having 是在group by 之后用的,表示对分组的结果进行筛选,后面不能用where 代替

    having前
    having

  • order by排序order by加一个分组值,会按筛选结果的字母顺序排序

    不加asc,desc

  • 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,跨度就不大了。sql server简写
所见即所得utile里面加一个参数,分几组排名,六个分三组每组2个
混合模式加入paritition,不同的country重新按12345排名混合

  • from—where—group by having—聚合函数—select—order by
  • 执行顺序