⑴ 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
不知道是什麼原因,但是並不影響安裝,點確定後可以繼續,至於是什麼原因還不明白!???