zoukankan      html  css  js  c++  java
  • sql常用查询


    INSERT
    into T_call(Callnumber,tellnum,startdatetime,enddatetime) VALUES('13925473495','GZSX009','2013-10-20 10:03','2013-10-22 13:06') --输出所有数据中通话时间最长的5条记录。用orderby datediff select top 5 * from T_call order by datediff(second,StartDateTime,Enddatetime) desc --输出所有数据中拨打长途电话的总时长。(0开头为长途) like,sum SELECT SUM(DATEDIFF(second, startdatetime, enddatetime))as '长途通话时长' from T_call where callnumber LIKE '0%' --输出本月通话总时长最多的前三呼叫员的编号 --datediff(month..)=0表示本月 SELECT top 3 TellNum from T_call WHERE DATEDIFF(MONTH, startdatetime, GETDATE())=0 GROUP BY TellNum ORDER BY SUM(DATEDIFF(SECOND, startdatetime, enddatetime)) DESC --输出本月拨打电话次数最多的前三个呼叫员的编号 SELECT TOP 3 tellnum,COUNT(*) as N'通话次数' FROM T_call WHERE DATEDIFF(MONTH, startdatetime, enddatetime)=0 GROUP BY tellnum ORDER BY 通话次数 DESC --输出所有数据的拨号流水,并且在最后一行添加呼叫总时长 SELECT tellnum,callnumber,DATEDIFF(SECOND, startdatetime, enddatetime) as 通话时长 FROM T_call UNION ALL SELECT N'汇总', CONVERT(nvarchar(50), SUM(( CASE WHEN callnumber LIKE '0%' then DATEDIFF(SECOND, startdatetime, enddatetime) ELSE 0 END ))), SUM(( CASE when callnumber not like '0%' then DATEDIFF(SECOND, startdatetime, enddatetime) ELSE 0 END)) from T_call where DATEDIFF(MONTH, startdatetime, enddatetime)=0 --计费表jifei --查找6,7,8,月份有话费产生,但是9,10月份没有使用,并且6,7,8话费均在51-100之间 SELECT DISTINCT phone from jifei WHERE phone in (SELECT phone from jifei where months in (6,7,8)and expense BETWEEN 51 and 100) and phone not in (SELECT phone from jifei WHERE months in(10,11) and expense=0) --
  • 相关阅读:
    无锁数据结构(Lock-Free Data Structures)
    Grouping Sets:CUBE和ROLLUP从句
    SQL Server里Grouping Sets的威力
    第18/24周 乐观并发控制(Optimistic Concurrency)
    SQL Server里PIVOT运算符的”红颜祸水“
    数据库收缩:NOTRUNCATE与TRUNCATEONLY
    在SQL Server里为什么我们需要更新锁
    SQL Server里的自旋锁介绍
    SQL Server里的闩锁介绍
    配置内存中OLTP文件组提高性能
  • 原文地址:https://www.cnblogs.com/zhanying/p/3387959.html
Copyright © 2011-2022 走看看