之乎者也,阿弥陀佛

软件设计的原则就是,化繁为简,化难为易,把人的思维集中在简单的领域,然后通过有序的组合实现复杂的逻辑。

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

一、  case when  ... then ... else ... end 用法 

数据表如下,我们要查询的时候直接判断:比如查询出张三,男,李四3,女  只要一条SQL语句即可
select [name],(case when sex=1 then '男' else '女' end) as sex from 表名


二 、group by 的使用

例如:表如下
ID 名称(name) 仓库 数量
01 西瓜 一号 10
02 西瓜 二号 30
03 大米 一号 30
04 苹果 一号 40
05 苹果 二号 45
06 苹果 三号 5


Select name,Sun(price) From 表 Group By name


以上SQL将返回各种商品的总数量,而不管是哪个仓库的..

结果:

西瓜,40
大米,30
苹果,90

三、Having从句:

语法格式为:

SELECT "column_name1", SUM("column_name2") 0
FROM "table_name" GROUP BY "column_name1" 
HAVING (arithematic function condition)
例如:我们可能只希望看到Store_Information数据表中销售总额超过1500美圆的商店的信息,这时我们就需要使用HAVING从句:

SELECT store_name, SUM(sales)

FROM Store_Information

GROUP BY store_name

HAVING SUM(sales) > 1500

四、一个日期判断的sql语句
 例如:请取出tb_send表中日期(SendTime字段)为当天的所有记录?(SendTime字段为datetime型,包含日期与时间)
------------------------------------------
select * from tb where datediff(dd,SendTime,getdate())=0

五、查询2009-11月份的某表的所有记录,假如时间字段为RecordTime,表名为Table1

写法一:
select * from Table1 where year(RecordTime)=2009  and  month(RecordTime)=11
写法二:
select * from Table1  where convert(nchar(10),logintime,112) between '2009-12-01' and '2009-12-31'
 

posted on 2009-11-17 23:13  搏击的小船  阅读(820)  评论(0编辑  收藏  举报