⑴ 怎麼用sql語句得到一個表的欄位數
用一個查詢打開表後,可以根據TADOQuery控制項的FieldCount屬性來獲得欄位個數。
MySql:='Select * From MyTBName ';
ADOQ_Fields.Close;
ADOQ_Fields.SQL.Clear;
ADOQ_Fields.SQL.Add(MySql);
ADOQ_Fields.Open;
SBar.Panels[2].Text:='共計:'+IntToStr(ADOQ_Fields.FieldCount)+'條欄位';
如果你想得到每個字估的類型,可以對欄位進行一下遍歷。
放一個TValueListEditor控制項,命名為VLEditor_Fields,用來存放欄位信息。
VLEditor_Fields.Strings.Clear;
For i:=0 to ADOQ_Fields.FieldCount-1 DO
Begin
case ADOQ_Fields.FieldByName(ADOQ_Fields.Recordset.Fields.Item[i].Name).DataType of
ftUnknown: FieldType :='ftUnknown';
ftString: FieldType :='ftString';
ftSmallint: FieldType :='ftSmallint';
ftInteger: FieldType :='ftInteger';
ftWord: FieldType :='ftWord';
ftBoolean: FieldType :='ftBoolean';
ftFloat: FieldType :='ftFloat';
ftCurrency: FieldType :='ftCurrency';
ftBCD: FieldType :='ftBCD';
ftDate: FieldType :='ftDate';
ftTime: FieldType :='ftTime';
ftDateTime: FieldType :='ftDateTime';
ftBytes: FieldType :='ftBytes';
ftVarBytes: FieldType :='ftVarBytes';
ftAutoInc: FieldType :='ftAutoInc';
ftBlob: FieldType :='ftBlob';
ftMemo: FieldType :='ftMemo';
ftGraphic: FieldType :='ftGraphic';
ftFmtMemo: FieldType :='ftFmtMemo';
ftParadoxOle: FieldType :='ftParadoxOle';
ftDBaseOle: FieldType :='ftDBaseOle';
ftTypedBinary: FieldType :='ftTypedBinary';
ftCursor: FieldType :='ftCursor';
ftFixedChar: FieldType :='ftFixedChar';
ftWideString: FieldType :='ftWideString';
ftLargeint: FieldType :='ftLargeint';
ftADT: FieldType :='ftADT';
ftArray: FieldType :='ftArray';
ftReference: FieldType :='ftReference';
ftDataSet: FieldType :='ftDataSet';
ftOraBlob: FieldType :='ftOraBlob';
ftOraClob: FieldType :='ftOraClob';
ftVariant: FieldType :='ftVariant';
ftInterface: FieldType :='ftInterface';
ftIDispatch: FieldType :='ftIDispatch';
ftGuid: FieldType :='ftGuid';
ftTimeStamp: FieldType :='ftTimeStamp';
ftFMTBcd: FieldType :='ftFMTBcd';
else FieldType :='';
end;
VLEditor_Fields.InsertRow(ADOQ_Fields.Recordset.Fields.Item[i].Name,FieldType ,True);
End;
⑵ 怎麼通過一個sql語句查詢一個表中欄位的個數
select
a.name
,count(0)欄位總數
from
sys.objectsa
innerjoinsys.all_columnsbona.object_id=b.object_id
where
a.type='U'anda.name='表名'
groupby
a.name
修改「表名」為實際需要查詢的表名即可
⑶ 如何統計SQL中某欄位總數和符合某條件的數量
輸入代碼
select 名稱
,count(*) as 總數量
,count(case when 類型='A' then 類型 else null end) as 類型為A的數
from 表名
group by 名稱。
就可以統計SQL中某欄位總數和符合某條件的數量。
⑷ 請問怎麼用SQL語句統計一個表有多少個欄位謝謝!
這個簡單,用系統表就可以了,以資料庫Northwind的Employees表為例,SQL語句如下:
use Northwind
select count(*) AS 欄位數
from syscolumns
where id = (select id from sysobjects where name='Employees')
⑸ 用sql語句統計資料庫某個欄位中相同的數據有多少條
1、可通過分組和組內計數來實現,語句如下:
select a, count(*) from A Group by a
2、用Group By分組:
Group By + [分組欄位](可以有多個)。在執行了這個操作以後,數據集將根據分組欄位的值將一個數據集劃分成各個不同的小組。
這里,分組欄位是a,所以數據集分成了你、我、他三個組。然後用Count(*)分別按照各個組來統計各自的記錄數量。
3、Count(*)函數:
Count(*) 函數返回表中的記錄數。注意它和Group by連用,返回組內記錄數。
』
(5)如何用sql語句統計表欄位數擴展閱讀:
select count(*)和select count(1)的區別
一般情況下,Select Count (*)和Select Count(1)兩著返回結果是一樣的。
假如表沒有主鍵(Primary key), 那麼count(1)比count(*)快。
如果有主鍵的話,那主鍵作為count的條件時候count(主鍵)最快。
如果你的表只有一個欄位的話那count(*)就是最快的。
count(*) 跟 count(1) 的結果一樣,都包括對NULL的統計,而count(column) 是不包括NULL的統計。
網路.Group by
⑹ 怎麼通過一個sql語句查詢一個表中欄位的個數
select
a.name
,count(0)欄位總數
from
sys.objectsa
innerjoinsys.all_columnsbona.object_id=b.object_id
where
a.type='U'anda.name='表名'
groupby
a.name
修改逗表名地為實際需要查詢的表名即可
⑺ 怎麼通過一個sql語句查詢一個表中欄位的個數
select
a.name
,count(0) 欄位總數
from
sys.objects a
inner join sys.all_columns b on a.object_id=b.object_id
where
a.type='U' and a.name='表名'
group by
a.name
修改逗表名地為實際需要查詢的表名即可
⑻ 如何用sql語句看錶有多少個欄位
select count(*) from user_tab_columns where table_name=upper('表名')
或者
select max(column_id) from user_tab_columns where table_name=upper('表名')
也行。
這只是查詢個數。
⑼ sql 查詢怎麼統計多個欄位各自的個數
--所有算的地方都用cast(個數asint)
createtabletest05
(avarchar(10),
bvarchar(10),
cvarchar(10))
insertintotest05select'#','一','三'unionall
select'@','一','三'unionall
select'¥','一','二'unionall
select'%','二','二'
select*fromtest05
selectb,COUNT(b)個數fromtest05groupbyb
selectc,COUNT(c)個數fromtest05groupbyc
selectSUM(isnull(t1.個數,0)+isnull(t2.個數,0))總數,sum(isnull(t1.個數,0))個數,t1.b,sum(isnull(t2.個數,0))個數,t2.cfrom
(selectb,COUNT(b)個數fromtest05groupbyb)ast1fulljoin
(selectc,COUNT(c)個數fromtest05groupbyc)ast2ont1.b=t2.c
groupbyt1.b,t2.c