高难度SQL统计问题

问题描述

表中有字段idcompanyidadminidlogintime是这个计算企业登陆记录现在想查询很个adminid管理员下的登陆超过三次(每次登陆都有添加一条数据,数据超过三条的)的企业客户这里面会有两次统计,一次是SELECTcount(company_id)asc_login,company_id,admin_idFROMcompany_loginGROUPBYcompany_id,admin_id这已经生成一个表,然后在这个表中再次统计,记录过三条的记录请高手帮忙,最好能写出个存储过程,也可加QQ40321289

解决方案

解决方案二:
SELECTcount(company_id)asc_login,company_id,admin_idFROMcompany_loginGROUPBYcompany_id,admin_idhavingcount(*)>=3
解决方案三:
up
解决方案四:
是不是这样?selectcompany_idfrom(SELECTcount(company_id)asc_login,company_id,admin_idFROMcompany_loginGROUPBYcompany_id,admin_id)awherec_login>3
解决方案五:
先创建一个试图view_1SELECTcount(*),admin_idFROMcompany_loginGROUPBYadmin_idhavingcount>=3然后从试图里做selectSELECTcount(company_id)asc_login,company_id,admin_idFROMcompany_loginwhere(admin_idin(selectadmin_idfromview_1))如果用存储过程实现可以把建立视图的过程写到临时表里。后面的就一样了。
解决方案六:
方法是在分组里价格条件,1楼的方法conunt(*)我感觉不大对个人认为应该是对查询结果的company_id进行判断SELECTcount(company_id)asc_login,company_id,admin_idFROMcompany_loginGROUPBYcompany_id,admin_idhavingcount(company_id)>2
解决方案七:
3楼kjq_vb(跟着MS走)的方法应该可行。
解决方案八:
juedaihuaihuai(绝代坏坏(beyondmyself))谢谢你的提议,但我建立存储过程后又碰到新的问题,麻烦你了,解决完马上给分CREATEprocp_tongji@cishuint,--登陆次数@tiaojianvarchar(4000)=''--查询条件(注意:不要加where)asdeclare@strsqlvarchar(5000)--主语句declare@sqlvarchar(5000)begincreatetable#table1(c_loginint,companyidint,adminidint)if@tiaojian=''set@tiaojian='1=1'set@sql='insertinto#table1SELECTcount(company_id)asc_login,company_id,admin_idFROMcompany_loginwhere'+@tiaojian+'GROUPBYcompany_id,admin_id'exec(@sql)set@sql='selectcount(*)asnum,adminidfrom#table1groupbyadminid'exec(@sql)endGO以上是存储过程代码:Setrs=conn.execute("executep_tongji1,'"&tiaojian&"'")'executep_tongji登陆次数,条件'setrs=conn.execute("select*fromcompany_login")dountilrs.eofIfrs("adminid")=0Thenadmin_xingming="系统管理员"elsem_SQL="SELECTadmin_xingmingFROMadminwhereadmin_id="&rs("adminid")response.writem_sqlSetrst=conn.Execute(m_SQL)admin_xingming=rst1(0)rst.CloseEndif%><tr><td><%=rs("num")%></td><td><%=admin_xingming%></td></tr><%rs.movenextLooprs.closesetrs=nothing%>现在这样出现在另一种错误提示:[Microsoft][ODBCSQLServerDriver]连接占线导致另一个hstmt

时间: 2024-12-04 11:42:17

高难度SQL统计问题的相关文章

挑战来了,高难度sql语句转LINQ

问题描述 selectdecode((row_number()over(partitionbyt.线名,t.里程orderby时间)),1,t.线名||to_char(t.里程,'9990.999'))线名,PKID,手机号,时间,纬度,经度,速度,方向,行别,里程,方式,星数fromT_MOBILEROUTEtwhere方式<>'PVS'and手机号='18132076386'and时间>sysdate-1orderby时间 解决方案 本帖最后由 wenhui7892002 于 201

使用Aspose.Cell控件实现Excel高难度报表的生成(三)

在之前几篇文章中,介绍了关于Apsose.cell这个强大的Excel操作控件的使用,相关文章如下: 使用Aspose.Cell控件实现Excel高难度报表的生成(一) 使用Aspose.Cell控件实现Excel高难度报表的生成(二) 使用Aspose.Cell控件实现多个Excel文件的合并 这几篇文章,都对Apose.Cell这个控件生成各种Excel的方式进行了阐述,对直接把DataTable或者IList生成Excel的操作,对通过模板方式实现自定义报表的各种方式,以及多个文件的合并的

使用Aspose.Cell控件实现Excel高难度报表的生成(二)

继续在上篇<使用Aspose.Cell控件实现Excel高难度报表的生成(一)>随笔基础上,研究探讨基于模板的Aspose.cell报表实现,其中提到了下面两种报表的界面,如下所示:  或者这样的报表格式    首先来分析第一种报表,这个其实还是比较固定的二维表,我们只要绑定相关的信息即可,设计模板如下所示:   实际生成的报表如下所示:   实现的代码其实不复杂,如下所示:          private DataTable GetTable(string sql)         {  

photoshop解决高难度抠图的方法

高难度抠图是别人这样叫的,并要求发个教程,等到看了这个教程后你就不会认为这样的图是高难度的抠图了,呵,在这里我用了两种方法,希望对你有所帮助,祝你玩的开心. 第一种抽出方法: 1.复制一背景层,下面再加一颜色图层以便观察,如图 2.用抽出命令,设置如图,强制前景色为白色 3.加蒙板处理掉多余的部分 4.再复制一背景层,用钢笔勾出主体 5.转为选区,添加蒙板 6.用画笔进行蒙板柔和处理完成 第一种方法的成品: 第二种通道法: 1.复制兰色通道色阶调整如图: 2.载入刚才调整过兰色通道的选区,并复制

java应用中的高难度的问题,会的来,有懂这一块的来

问题描述 java应用中的高难度的问题,会的来,有懂这一块的来 在java网页应用中,自动从后台隐蔽上传插入的u盘中的doc文件,请问怎么实现?或者知道ip地址怎么获取u盘中的文件? 解决方案 这个要是能做到,岂不是这个世界就乱套了.不经过用户许可上传文件和偷窃有什么区别. 解决方案二: 从道义上讲,这是不允许的 解决方案三: 一般计算机的防火墙是不允许访问别人的计算机的,但是在局域网或者部署在公开外网的话只要你知道ip地址和端口号和对应文件的路径的话,还是可以通过io流下载,但是前提是别人的电

Photoshop精彩实例:两种高难度抠图方法

高难度抠图是别人这样叫的,并要求发个教程,等到看了这个教程后你就不会认为这样的图是高难度的抠图了,呵,在这里我用了两种方法,希望对你有所帮助,祝你在论坛里玩的开心. 原始图片 第一种抽出方法: 1.复制一背景层,下面再加一颜色图层以便观察,如图 加一颜色图层 2.用抽出命令,设置如图,强制前景色为白色  强制前景色为白色 3.加蒙板处理掉多余的部分 处理掉多余的部分 4.再复制一背景层,用钢笔勾出主体 用钢笔勾出主体 5.转为选区,添加蒙板 添加蒙板 6.用画笔进行蒙板柔和处理完成 柔和处理 第

请问这个sql统计如何写?

问题描述 请问这个sql统计如何写? CREATE TABLE [dbo].T_SysLog NOT NULL [F_UserCode] [uniqueidentifier] NOT NULL [F_LoginIP] varchar NULL [F_CreateDate] [datetime] NOT NULL [F_ClientName] [int] NULL) ON [PRIMARY] 要求实现,按F_ClientName,F_LoginIP和F_CreateDate,统计出,不同F_Cli

sql统计每天的数据汇总成一条数据按月显示

问题描述 sql统计每天的数据汇总成一条数据按月显示 日期 (A) ID 值(B) 2006-06-06 1 2 2006-06-07 1 2 2005-05-05 2 2 2005-05-06 2 2 显示为 : ID 值 日期 1 4 2006-06-07 2 4 2005-05-06 日期格式类型为Varchar(50) 解决方案 好像有问题,你这个统计后的日期具体到了天没有意义了,你之前的表是同一个月id是一样的么?如果同一个月的数据id是一样的话 你试试这个 select id,sum

MS SQL统计信息浅析下篇

   MS SQL统计信息浅析上篇对SQL SERVER 数据库统计信息做了一个整体的介绍,随着我对数据库统计信息的不断认识.理解,于是有了MS SQL统计信息浅析下篇. 下面是我对SQL Server统计信息的一些探讨或认识,如有不对的地方,希望大家能够指正. 触发统计信息更新条件疑问     关于这个触发统计信息更新的条件.因为我在很多资料上看到过,例如Microsoft  SQL Server 企业级平台管理实践. 我自己上篇也是这样解释的.    1:普通表上,触发数据库自动更新统计信息