# re: 關(guān)于數(shù)據(jù)庫(kù)count的問(wèn)題 回復(fù) 更多評(píng)論
2006-11-16 12:16 by
distinct作用是去掉重復(fù)數(shù)據(jù).
例如:表 A 數(shù)據(jù)如下
1 xc cn
1 xc cn
2 xc cn
2 xc cn
3 xc cn
3 xc cn
4 xc cn
4 xc cn
4 xc cn
select distinct * from A;
得出的結(jié)論就是
1 xc cn
2 xc cn
3 xc cn
4 xc cn
這樣明白吧??
# re: 關(guān)于數(shù)據(jù)庫(kù)count的問(wèn)題 回復(fù) 更多評(píng)論
2006-11-16 16:03 by
謝謝你的回復(fù),這個(gè)我明白,但我還有疑問(wèn),可能仁兄沒(méi)有看懂我的意思。
表A,數(shù)據(jù)如下
1 xc cn
1 xc ae
1 xc cn
2 dd cn
select distinct * from A;
返回
1 xc cn
1 xc ae
2 dd cn
select dinstinct id,name from A;
返回
1 xc cn
2 dd cn
這些我都知道。而現(xiàn)在我想要的是寫(xiě)一條sql語(yǔ)句,計(jì)算返回符合要求的數(shù)據(jù)庫(kù)record的條數(shù),就是(如以上的數(shù)據(jù))我要dinstinct id 和name 兩個(gè)字段,并且返回?cái)?shù)據(jù)2。
select count(distinct 'id&name') as acount from A 返回的值為2。呵呵
# re: 關(guān)于數(shù)據(jù)庫(kù)count的問(wèn)題 回復(fù) 更多評(píng)論
2006-11-16 17:05 by
select count(distinct id||name) as count from a
# re: 關(guān)于數(shù)據(jù)庫(kù)count的問(wèn)題 回復(fù) 更多評(píng)論
2006-11-16 20:17 by
謝了,可以成功執(zhí)行。可我原本的問(wèn)題比這復(fù)雜,我一個(gè)聯(lián)合查詢(xún)語(yǔ)句如下:
SELECT count(distinct A.C_MAIN_REF || A.C_UNIT_CODE || A.C_TRX_STATUS) as counter
FROM TRX_AUTH_LIST A ,TRX_MATRIX_LIST B WHERE A.C_MAIN_REF = 'xcblcx'
AND A.C_MAIN_REF = B.C_MAIN_REF
這條語(yǔ)句能成功執(zhí)行,而下面這條語(yǔ)句卻不行:
SELECT count(distinct A.C_MAIN_REF || A.C_UNIT_CODE || A.C_TRX_STATUS || A.I_AUTH_LEVEL) as counter
FROM TRX_AUTH_LIST A ,TRX_MATRIX_LIST B WHERE A.C_MAIN_REF = 'xcblcx'
AND A.C_MAIN_REF = B.C_MAIN_REF
差別在于加了一個(gè)A.I_AUTH_LEVEL的字段,此字段為integer類(lèi)型,就不能成功,如果換一個(gè)字段為charactor的就可以。
難道查詢(xún)字段也有區(qū)別?望指點(diǎn)
# re: 關(guān)于數(shù)據(jù)庫(kù)count的問(wèn)題 回復(fù) 更多評(píng)論
2006-11-18 09:25 by
我的意思是:如果有以下兩條語(yǔ)句
語(yǔ)句一:SELECT count(distinct A.C_MAIN_REF || A.C_UNIT_CODE || A.C_TRX_STATUS || A.I_AUTH_LEVEL) as counter
FROM TRX_AUTH_LIST A ,TRX_MATRIX_LIST B WHERE A.C_MAIN_REF = 'xcblcx'
AND A.C_MAIN_REF = B.C_MAIN_REF
語(yǔ)句二:SELECT count(distinct A.C_MAIN_REF || A.C_UNIT_CODE || A.C_TRX_STATUS || A.C_USER_ID) as counter
FROM TRX_AUTH_LIST A ,TRX_MATRIX_LIST B WHERE A.C_MAIN_REF = 'xcblcx'
AND A.C_MAIN_REF = B.C_MAIN_REF
第一條語(yǔ)句能成功執(zhí)行,而第二條則會(huì)報(bào)錯(cuò)。兩條語(yǔ)句的差別在于count函數(shù)的內(nèi)部最后一個(gè)字段,(語(yǔ)句一:|| A.I_AUTH_LEVEL 語(yǔ)句二:|| A.C_USER_ID),I_AUTH_LEVEL 為integer,而C_USER_ID為charactor,我所能找到的差別就在此,我就問(wèn)為什么語(yǔ)句二為什么不能執(zhí)行成功,難道字段類(lèi)型也有影響??