⑴ sql的GROUP BY错误
错误提示的意思是group部分定义条件过深.事实上在使用having条件时,一定要注意的是不要过多的使用聚合函数的.因为每一个聚合函数的计算都是非常大的,所以这里的错误就是你使用了过多的聚合函数的原因.
在SQL中存在一个叫子语句嵌套的.如:select * from A wrhere A.p in(select * from B where B.p in (select.........))看似这个条件可能无限的写下去,事实上由于这种查询非常的耗时的,所以在SQL中规定是子嵌套不能超出三层.其一般情况下我们采用的都其的处理方式的,避免使用这种子查询嵌套的,如果不得已才使用一个嵌套.因为这种查询太耗内存的!所以我们都是不建议使用的!
而聚合函数根其十分类似,因为其对所以结果进行一个分筛统计,也是非常耗时的,不建议使用聚合函数的嵌套的!所以这里必须要考虑这个的问题的!
对于你的问题,我可能理解的不太透彻,但我不明白的是为什么你非要条件压到having上呢?你有没有考虑过top 1这一个参数的使用呢?
Select top 1 sum(Admin_EnyEred) as maxenyered from state
group by year_entered
order by maxenyered Desc
这种条件中我连having条件都不再使用的!
使用多重聚合时我也不知道SQL是否让通过,你可以试一下的,但我想应该是有一定的问题的,至少效率也不行!
Select max(sum(Admin_EnyEred)) as maxenyered from state
group by year_entered
从你自己的语句中我看你可能是对having条件不太理解造成的,事实上having条件与where是不同的,很多时间也是无法转化的。只有部分条件是可以转化的,having又称分组依据,也就是分组前对分组进行一个“过滤”筛选的,而不是where条件的对结果集前后都可以筛选的,所以这样的having条件从你的使用上来说根本就是不对的!
⑵ sql server 2000提示command line option syntax error,type command/ for help
原因是安装sql server 2000不兼容,需要重新选择与电脑位数匹配的下载安装即可。
1、首先需要在网络浏览器上搜索一个sqlserver2000,然后跟电脑匹配的位数下载。
⑶ 安装sql时提示“以前的某个程序安装已经在计算机上创建
安装sql2000时提示“以前的某个程序安装已经在计算机上创建挂起的文件操作”的解决办法
SQLServer2000 在一段时间不使用后突然间不能够运行了.只能打开企业管理器,对数据库进行操作。VS2005不能够连接,试了很多种方式,无结果。于是重新安装sqlServer2000? 仿真版,但是,安装SQLServer2000总是提示"以前的某个程序安装已经在计算机上创建挂起的文件操作,运行安装程序之前必须重启计算机",重启了好几次都没有办法,后来在网上查了一个文章 ,终于把此问题解决,文章如下:
1. 有时安装sqlServer2000总是提示"以前的某个程序安装已经在计算机上创建挂起的文件操作,运行安装程序之前必须重启计算机", 点击“确定重起机子还是这样提示,请问如何解决?
分析解决:以前装过sql server,后来删掉。现在重装。或者安装Window2003SP1后也会出现这种情况,解决办法如下--
1)添加/删除程序中彻底删除sql server
2)将没有删除的sql serv er目录也删除掉。
3)打开注册表编辑器,在HKEY_LOCAL_ Manager中找到PendingFileRenameOperations项目,并删除它。这样就可以清除安装暂挂项目。
2. 安装sql2000时出现command line option syntax error
原因分析:很有可能是你的.安装目录层数太多;安装程序不能放在中文目录下(注意不是安装到路径,
而是安装程序自己本身所在路径)!比如不能把安装程序放在‘D:数据库SQL2000’目录下进行安装,
把它拷出来到根目录再装就OK了!这一点我这次终于体会到了,我把安装程序放在了‘e:/程序筐/personal/…’中,安装路径默认的,结果安装过程中出现这样的提示,最后安装好了,打开企业管理器,里面什么都没有。系统的六个数据库都不会显示。郁闷!然后重新安装,这次学聪明了,把安装程序文件夹personal剪切到根目录下面e:/,问题解决。
3 .如果出现:无法找到动态连接库sqlunirl.dll于指定路径
解决:关于安装服务器配置失败的时候(sqlunirl.dll是MDAC的一个组件),你可以考虑如下方法试试: 重装MDAC.
⑷ 安装SQL时提示错误,无法安装!
一,这是最简单,最直接的方法,而且非常的有效,请仔细耐心,如果失败,多尝试几次
一直以来,在安装SQL时,总会时不时提示安装程序被挂起的问题,害得我装了N次的系统,就在前几天晚上照样害我三点钟才睡,最终我上网查看了很多资料之后总结如下,希望对大家有所帮助:
今天在服务器上的SQL server挂了之后,重新装了,可老提示什么狗P程序被挂起的信息,最后不得不细找原因,功夫不负有心人,终于找出了病症所在,K,我要早知道这么简单,就再也不装系统了.....汗死,详情如下,做个备份,以便今后再碰到类似问题有地方查!
1、先运行你的安装程序,当提示挂起时,点击“确定”,切记,不要退出安装程序,用ALT+Tal键切换,点击“开始》运行”,输入“regedit”,打开注册表
2、找到目录HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager
3、删除其中的“PendingFileRenameOperations”(在这里说明一下,PendingFileRenameOperations文件位于Session Manager右侧,即当你点击Session Manager时,在右边就可以看到了)
4、关闭注册表
5、重新开始安装SQL Server 2000,一切OK了。简单吧
6、问题解决了,哈哈(如果上述步骤没能解决你问题,请继续往后看)
二、我是在WIN2003下安装的SQL2000,不用管"...SQL2000SP2不能安装在WIN2003下.."的提示,点继续,等安装完后再马上打上SP3,没有问题!
只是在安装过程中还出现了这个错误:
安装程序配置服务器失败。参考服务器错误日志和C:\WINNT\sqlstp.log 了解更多信息.
WINNT目录下的sqlstp.log中最后是这样的错误信息:
正在启动?
Chinese_PRC_CI_AS
-m -Q -T4022 -T3659
正在与服务?
driver={sql server};server=GH;UID=sa;PWD=;database=master
[Microsoft][ODBC SQL Server Driver][Shared Memory]一般性网络错误。
[Microsoft][ODBC SQL Server Driver][Shared Memory]ConnectionRead (recv()).
driver={sql server};server=GH;UID=sa;PWD=;database=master
[Microsoft][ODBC SQL Server Driver][Shared Memory]一般性网络错误。
[Microsoft][ODBC SQL Server Driver][Shared Memory]ConnectionRead (recv()).
driver={sql server};server=GH;UID=sa;PWD=;database=master
[Microsoft][ODBC SQL Server Driver][Shared Memory]一般性网络错误。
[Microsoft][ODBC SQL Server Driver][Shared Memory]ConnectionRead (recv()).
SQL Server 配置?
####################################################
09:23:53 Process Exit Code: (-1)
09:24:14 安装程序配置服务器失败。参考服务器错误日志和 C:\WINNT\sqlstp.log 了解更多信息。
09:24:14 Action CleanUpInstall:
09:24:14 C:\WINNT\TEMP\SqlSetup\Bin\scm.exe -Silent 1 -Action 4 -Service SQLSERVERAGENT
09:24:14 Process Exit Code: (1060) 指定的服务并未以已安装的服务存在。
09:24:14 C:\WINNT\TEMP\SqlSetup\Bin\scm.exe -Silent 1 -Action 4 -Service MSSQLSERVER
09:24:14 Process Exit Code: (0)
09:24:14 StatsGenerate returned: 2
09:24:14 StatsGenerate (0x0,0x1,0xf0000000,0x400,2052,303,0x0,0x1,0,0,0
09:24:14 StatsGenerate -1,Administrator)
09:24:14 Installation Failed.
解决方法:
首先把安装目录和C:\Program Files下的Microsoft SQL Server文件夹删了,删除在current_user和local_machine\software\microsoft\ 下有关 Microsoft sql server 全部信息,然后
1 打开注册表
在"开始"--"运行"键入 "regedit"
2 按下列顺序点击打开
+ HKEY_LOCAL_MACHINE
+ SOFTWART
+ Microsoft
+ Windows
+ CurrentVersion
+ Setup
+ ExceptionComponents
3 将 ExceptionComponents 下面的文件夹全部删除!
如 {60BFF50D-FB2C-4498-A577-C9548C390BB9}
{60BFF50D-FB2C-4498-A577-C9548C390BB9}
{60BFF50D-FB2C-4498-A577-C9548C390BB9}
{60BFF50D-FB2C-4498-A577-C9548C390BB9}
.......
4 重新启动:
5 重新安装 SQL Server 2000
另外在一个BLOG上看到的一个说法:
问题的原因:
此问题属于sql server的bug, GetComputerName 用于获取本地计算机名。客户端网络库组件 (DBMSLPCn.dll) 将该名称转换为全部大写。服务器网络库组件 (SSMSLPCn.dll) 保留返回时的名称。
当 Windows 计算机名称包含大写字母和小写字母或者都是小写字母时安装会失败,提示一般性网络错误!
解决办法就是将计算机名称改为全部大写!
我便照着将我电脑的名称改为大写,然后重启,刚才的网络错误问题没了。但又提示我 sa 登录失败。 奇怪了,我重新安装指定的是空密码,怎么安装程序自己也会sa登录失败呢?后来才想起来,卸载Sql Server 是为了保住我的数据,就偷懒没有将原先Sql Server 安装目录下的Data文件夹内的文件删除,master.mdf 和master.ldf都在。 以前的的Sql Server是设了密码的。于是感快将这两个文件删除。再重新安装一次,OK! 安装成功.
总结:
1、 以后计算机名称一定用大写,免得惹来不必要的麻烦.
2、重装Sql Server时一定要记得将master.mdf 和master.ldf删除。
注: 我的计算机名称也是小写,但我并没有把计算机名称换成大写,只是在SQL安装过程中把用户名改成了大写,再按照上面的做法删除文件夹和清除注册表后安装成功的,所以我觉得以上的说法值得探讨!
以下还收集一些SQL2000安装程序配置服务器失败的一些解决方法:
1. sql server 2000安装出错,无法找到动态链接库sqlunirl.dll
安装文件肯定没有错,因为以前安装过,绝对可以用,机子之前有装了sql server 2000,而且可以正常使用,只是今天突然无法连接到本地数据库,打算重装,我删了program files里的ms sql的目录,然后重装sql,结果在最后一步的时候提示,无法完成配置。后来又删除了一些注册表中的sql server信息(有备份注表),再安装时,就出现这样的提示了,更糟的是,备份的注册表却无法还原
============================
现在问题解决了,总结了一些经验
当安装时出现MDAC组件安装失败时,试着修复或重装microsoft office
当你想重装sql server,而安装时又出现“您的机子上已经安装有一个实例”的提示时,可以删除program files\Microsoft SQL Server文件夹,再安装
当出现某某动态链接文件找不到时,可以试着在sql server的安装文件中找到这个文件,复制到系统目录下的system和system32文件夹中(一般在出现这个错误消息时,都会提示哪几个文件夹下缺少这个文件)
当出现安装程序配置服务器失败时,可以试着用一下方法解决
此错误消息可以在系统目录下找到,例如我的系统是win2000,则该文件在C:\WINNT\sqlstp.log
失败一:
正在与服务?
driver={sql server};server=ZHL;UID=sa;PWD=;database=master
[Microsoft][ODBC 驱动程序 管理器] 驱动程序的 SQLAllocHandle on SQL_H
driver={sql server};server=ZHL;UID=sa;PWD=;database=master
[Microsoft][ODBC 驱动程序 管理器] 驱动程序的 SQLAllocHandle on SQL_H
driver={sql server};server=ZHL;UID=sa;PWD=;database=master
[Microsoft][ODBC 驱动程序 管理器] 驱动程序的 SQLAllocHandle on SQL_H
SQL Server 配置?
###############################################################################
13:40:06 Process Exit Code: (-1)
13:40:09 安装程序配置服务器失败。参考服务器错误日志和 C:\WINNT\sqlstp.log 了解更多信息。
13:40:09 Action CleanUpInstall:
当出现这个错误时,试一下重装系统文件
我的机子是win2000,在dos下重新运行win2000的安装,然后选择修复,而不是全新安装
修复系统文件之后,再装sql server,则不会出现此错误消息
失败二:
正在与服务?
driver={sql server};server=ZHL;UID=sa;PWD=;database=master
[Microsoft][ODBC 驱动程序 管理器] 未发现数据源
driver={sql server};server=ZHL;UID=sa;PWD=;database=master
[Microsoft][ODBC 驱动程序 管理器] 未发现数据源
driver={sql server};server=ZHL;UID=sa;PWD=;database=master
[Microsoft][ODBC 驱动程序 管理器] 未发现数据源
SQL Server 配置?
###############################################################################
13:50:07 Process Exit Code: (-1)
13:50:10 安装程序配置服务器失败。参考服务器错误日志和 C:\WINNT\sqlstp.log 了解更多信息。
13:50:10 Action CleanUpInstall:
当出现这个错误时,是因为在注册表删除了HKEY_LOCAL_MACHINE\SOFTWARE\ODBC中有关sql sever的内容
这时可以选择修复注册表,或安装ODBC修复工具.
失败三:
在与服务?
driver={sql server};server=ZHL;UID=sa;PWD=;database=master
[Microsoft][ODBC SQL Server Driver][Named Pipes]连接?
[Microsoft][ODBC SQL Server Driver][Named Pipes]ConnectionRead (ReadFile()).
driver={sql server};server=ZHL;UID=sa;PWD=;database=master
[Microsoft][ODBC SQL Server Driver][Named Pipes]连接?
[Microsoft][ODBC SQL Server Driver][Named Pipes]ConnectionRead (GetOverLappedResult()).
driver={sql server};server=ZHL;UID=sa;PWD=;database=master
[Microsoft][ODBC SQL Server Driver][Named Pipes]连接?
[Microsoft][ODBC SQL Server Driver][Named Pipes]ConnectionRead (GetOverLappedResult()).
SQL Server 配置?
###############################################################################
17:17:41 Process Exit Code: (-1)
17:17:45 安装程序配置服务器失败。参考服务器错误日志和
当出现这个错误时,必须安装ODBC修复工具
另外在安装过程中还出现这个错误:
装SQL时出现
SQL Redist
command line option syntax error
Type command /? for help
不知道是什么原因,但是并不影响安装,点确定后可以继续,至于是什么原因还不明白!???