ORDER BY 列名 可以根据这一列中的元素的大小进行排序,用 SELECT 把排序后的结果显示出来。后加 ASC 表示升序,DESC表示降序。默认为升序。
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
GROUP BY 列名 对数据进行分组,数据相同的元素合并为一组。当用 SELECT 取数据时,不能取不包含在 GROUP BY 中的字段,但可以用聚合函数来包括其他列,例如COUNT(*),MAX(),SUM()等。
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
例如COUNT(*),MAX(),SUM() 等聚合函数不能包括在 WHERE 子句中。当要取出用 GROUP BY 包含在一组中个数大于 1 的数据时,不能写
WHERE COUNT(*)>1
但可以用 HAVING 。
HAVING COUNT(*)>1
HAVING 是对分组后的数据进行过滤,而 WHERE 是对原始数据进行过滤的。HAVING 中能用的列只能是 SELECT 中的列。
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
ISNULL 通常用在 SELECT 语句中,用于判断所查询的值是否为空。它有两个参数,第一个是不为空时选择的信息,第二个是为空时代替的值
select ISNULL(Name,'佚名') as 姓名 FROM T_USER
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
CASE 类似于 switch ...case....
它的格式为
CASE value
WHEN value1 THEN returnvalue1
WHEN value2 THEN returnvalue2
.....
ELSE
END
create table Cost(Name varchar(10),CLevel int);
insert into Cost values('lusy',1)
insert into Cost values('Tom',2)
insert into Cost values('Andy',3)
insert into Cost values('Marry',2)
select Name,
(
case CLevel
when 1 then '一级客户'
when 2 then '二级客户'
when 3 then '三级客户'
else '未知'
end
) as 客户级别
from Cost
执行结果
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
有一张表 T_Scores ,要求输出以下格式
Name 胜 负
拜仁 1 2
湖人 1 0
奇才 2 0
select Name,
sum(
(
case score
when N'胜' then 1
else 0
end
)) as 胜,
sum(
(
case score
when N'负' then 1
else 0
end
)) as 负
from T_scores
group by Name