我正在使用database/sqland lib/pq(postgres) 包運(yùn)行一個(gè)非常簡(jiǎn)單的查詢,我想將某些字段的結(jié)果放入切片中,但我需要知道切片的大小。我能找到的唯一解決方案是執(zhí)行另一個(gè)查詢,即SELECT COUNT(*) FROM tableName;.有沒有辦法既獲得查詢結(jié)果又獲得一個(gè)查詢中返回的行數(shù)?
3 回答

吃雞游戲
TA貢獻(xiàn)1829條經(jīng)驗(yàn) 獲得超7個(gè)贊
從概念上講,問題在于數(shù)據(jù)庫(kù)游標(biāo)可能沒有枚舉到最后,因此在您實(shí)際讀取所有記錄之前,數(shù)據(jù)庫(kù)并不真正知道您將獲得多少記錄。計(jì)數(shù)的唯一方法(在一般情況下)是遍歷結(jié)果集中的所有記錄。
但實(shí)際上,您可以通過使用子查詢來(lái)強(qiáng)制它這樣做
select *, (select count(*) from table) from table
并忽略除第一列以外的記錄的第二列。但這是非常粗魯?shù)模也唤ㄗh這樣做。

郎朗坤
TA貢獻(xiàn)1921條經(jīng)驗(yàn) 獲得超9個(gè)贊
你會(huì)使用 count(*)
SELECT count(distinct last)
FROM (XYZTable)
WHERE date(FROM_UNIXTIME(time)) >= '2013-10-28' AND
id = 90 ;
- 3 回答
- 0 關(guān)注
- 506 瀏覽
添加回答
舉報(bào)
0/150
提交
取消