sqlservercount
Ⅰ sql Server連接出錯,提示要求非負數,參數名:count
你安裝sqlserver的時候修改的默認的埠???
如沒有,不需要指定埠。
SqlConnection
conn
=
new
SqlConnection("server=127.0.0.1;uid=sa;database=master;");
密碼沒有不用寫,再有如果是有埠是用:後接埠。
SqlConnection
conn
=
new
SqlConnection("server=127.0.0.1:99;uid=sa;database=master;");
Ⅱ SQL中如何顯示COUNT結果為0的行
SELECTModelType.ModelType,t1.count1FROM
ModelType
LEFTOUTERJOIN
(
SELECTModelTypeID,COUNT(*)ascount1
FROMMobiles
GROUPBYModelTypeID
)t1
ONt1.ModelTypeID=ModelType.ModelTypeID
注意:對於包含count1 0的行,SELECT的數據可能是NULL,但是可以在顯示中處理它。
(2)sqlservercount擴展閱讀:
函數的作用是:返回與指定條件匹配的行數。
語法
(1).SQLCOUNT(column_name)語法
COUNT(column_name)函數返回指定列的值的個數(NULL不計算):
從table_nameSQL中選擇COUNT(column_name)
(2).TheCOUNT(*)grammar
COUNT(*)函數返回表中的記錄數:
從table_nameSQL中選擇COUNT(*)
(3).count(不同的column_name)語法
COUNT(DISTINCTcolumn_name)函數返回指定列的不同值的數目:
從table_name中選擇COUNT(不同的column_name)
注意:COUNT(DISTINCT)適用於ORACLE和MicrosoftSQLServer,但不適用於MicrosoftAccess。
Ⅲ 求快速統計SQL Server 某個庫里所有表的方法,count() 函數很慢的。
我們都知道用聚合函數count()可以統計表的行數。如果需要統計資料庫每個表各自的行數(DBA可能有這種需求),用count()函數就必須為每個表生成一個動態SQL語句並執行,才能得到結果。以前在互聯網上看到有一種很好的解決方法,忘記出處了,寫下來分享一下。
該方法利用了sysindexes 系統表提供的rows欄位。rows欄位記錄了索引的數據級的行數。解決方法的代碼如下:
select schema_name(t.schema_id) as [Schema], t.name as TableName,i.rows as [RowCount]
from sys.tables as t, sysindexes as i
where t.object_id = i.id and i.indid <=1
該方法連接了sys.tables視圖,從中找出表名和schema_id,再通過schema_name函數獲取表的架構名。篩選條件i.indid <=1 只選聚集索引或者堆,每個表至少有一個堆或者聚集索引,從而保證為每個表返回一行。以下是在我的AdventureWorks資料庫中運行該查詢返回的部分結果:
Schema TableName RowCount
——————– ——————– ———–
Sales Store 701
Proction ProctPhoto 101
Proction ProctProctPhoto 504
Sales StoreContact 753
Person Address 19614
Proction ProctReview 4
Proction TransactionHistory 113443
Person AddressType 6
該方法的優點有:
1.運行速度非常快。
2.由於不訪問用戶表,不會在用戶表上放置鎖,不會影響用戶表的性能。
3.可以將該查詢寫成子查詢、CTE或者視圖,與其它查詢結合使用。
望採納
Ⅳ sqlserver怎麼實現同一個表中多個count查詢並且分組並且統計總數
可以有兩種解決方法,
所需工具:SQL
查詢兩個count的方法1:
SELECT paperName , COUNT (1) AS 總題數 , sum (CASE WHEN statu = 1 THEN 1 ELSE 0 END) AS 審核題數FROM questionGROUP BY paperNme
查詢兩個count的方法2:
select s.總題數, s.審核題數, s.paperNamefrom (select COUNT(1) as 總題數, case when status = 1 then count(1) else 0 end as 審核題數, paperNamefrom question--where papername in (select distinct paperName from question), 這個條件可以不要了group by paperNme, stauts -- status也要作為分組欄位,因為在case中有使用) s
Ⅳ sql count 函數
一般使用group by的話,select後面的屬性好像都要在by後面列出來,你只列了一個store,還有個count()、sum()這些函數沒有列出來,所以才會報錯。剩下我就不能幫你改了,這里沒有裝sql server。建議你試試下面的方式:
select store,sum(geshu) as gs from
(select store,count(sales) as geshu from store_abc group by store,gs
union all
select store,count(sales) as geshu from store_information group by store,geshu)
group by store
我也沒有試過,以前用的時候也出現這個問題,後來怎麼改了我給忘記了~~囧~~
希望對你有幫助,祝你早日解決。
Ⅵ SQLSERVER 里SELECT COUNT 和SELECT COUNT哪個性能好
之前我以為SELECT COUNT(*)是根據統計信息來的,但是後來想了一下,這個肯定不是
那麼SQLSERVER怎麽統計SELECT COUNT(*)的呢??
其實SQLSERVER也是使用掃描的方法
大家也可以先看一下:SQLSERVER中的ALLOCATION SCAN和RANGE SCAN
但是這里不討論是ALLOCATION SCAN還是RANGE SCAN,大家知道SQLSERVER使用的是掃描的方式就可以了
http://www.cnblogs.com/lyhabc/p/3376222.html
Ⅶ sql 語句 count 使用請教
SQL
COUNT()
語法
SQL
COUNT(column_name)
語法
COUNT(column_name)
函數返回指定列的值的數目(NULL
不計入):
SELECT
COUNT(column_name)
FROM
table_nameSQL
COUNT(*)
語法
COUNT(*)
函數返回表中的記錄數:
SELECT
COUNT(*)
FROM
table_nameSQL
COUNT(DISTINCT
column_name)
語法
COUNT(DISTINCT
column_name)
函數返回指定列的不同值的數目:
SELECT
COUNT(DISTINCT
column_name)
FROM
table_name注釋:COUNT(DISTINCT)
適用於
ORACLE
和
Microsoft
SQL
Server,但是無法用於
Microsoft
Access。
count()的三種語法中,沒有可以滿足你的條件的,唯一的方法就是使用where,就是你列出的那種
使用COUNT(DISTINCT
column_name)語法的話,你的返回值應該是2...
Ⅷ SQLserver語句count的用法
不行,這樣子的話無法分組,所以得把你上面要顯示的列也一並進行分組才行。