尊重原创:http://blog.csdn.net/love_java_cc/article/details/52234889 有表如下table3: 需要查询country中各个国家出现的次数 SQL语句: SELECT country as 国家,COUNT(*) as 次数 FROM table3 GROUP BY country 结果如下: 知识点: count(*)统计的是结果集的总条数,count(字段名)统计的是该字段值不为null的总条数 Group By:从字面意义上理解就是根
假设表结构:用户名,日期,上班时间,下班时间.8月份记录:select * from 表名 where month(日期)=8 and 用户名 = '小张'8月份迟到早退次数:select sum(iif(datediff('s','8:00',上班时间) > 0,1,0)) as 迟到次数,sum(iif(datediff('s','17:00',下班时间) < 0,1,0)) as 早退次数 from 表名 where month(日期) = 8 and 用户名 = '小张' select
oracle中的clob类型字段不能直接显示出来,需要借助Oracle系统dbms_lob中substr方法处理,如select dbms_lob.substr(clobField) from table 如果内容输出不全,进行如下设置 set heading off 不输出结果第一行的标题 (字段名称) set long 40000 设置输出的字节数(比较大数)
),jbrq, ),'/','-')as jbrq, ' then '启用' when ' then '未启用' else '修改' end cbzt,shzt from jc_yscbfxb select zxmid,row_number() over(order by xm.zzjgfhid,zxmmc) as xh,zxm.xmid,xmmc,zxmmc,htzj,zxm.fzrid,rs.ygmc, ' then '启用' else '未启用' end flag,zxm.bz from
SELECT * FROM dbo.SBD_WAYBILL_GOODS WHERE WG_SW_ID ) ORDER BY WG_ID SELECT * FROM dbo.SBD_WAYBILL WHERE SW_JOURNAL_NUMBER ) SELECT DISTINCT SW_JOURNAL_NUMBER FROM dbo.SBD_WAYBILL DELETE dbo.PDA_ERROR WHERE PE_ERRORVALUE IN(SELECT MAX(PW_ID) ) SELECT
SELECT dbid,count() FROM [Master].[dbo].[SYSPROCESSES] WHERE spid> and status='sleeping' group by dbid order by count() desc and waittype = 0x0000 and waittime = and status = 'sleeping' and last_batch < dateadd(minute, -, getdate()) and login_time &
一.SQL语言查询选修了全部课程的学生的学号和姓名. 两种解决途径: 第一种: 我们可以表示为在SC表中某个学生选修的课程数等于C表中课程总数.相应的SQL语言如下: select S#,SNAME from S where S# in (select S# from SC group by S# --根据Sno分组,统计每个学生选修了几门课程.如果等于C表课程的总数,就是我们要找的S# having count(*) = (select count(*) from C))--统计C表中共有几门
SQL 不同于与其他编程语言的最明显特征是处理代码的顺序.在大数编程语言中,代码按编码顺序被处理,但是在SQL语言中,第一个被处理的子句是FROM子句,尽管SELECT语句第一个出现,但是几乎总是最后被处理. 每个步骤都会产生一个虚拟表,该虚拟表被用作下一个步骤的输入.这些虚拟表对调用者(客户端应用程序或者外部查询)不可用.只是最后一步生成的表才会返回 给调用者.如果没有在查询中指定某一子句,将跳过相应的步骤.下面是对应用于SQL server 2000和SQL Server 2005的各个逻辑