猿问

从 Go 中的 SQL 查询获取计数和结果

我正在使用database/sqland lib/pq(postgres) 包运行一个非常简单的查询,我想将某些字段的结果放入切片中,但我需要知道切片的大小。

我能找到的唯一解决方案是执行另一个查询,即SELECT COUNT(*) FROM tableName;.

有没有办法既获得查询结果又获得一个查询中返回的行数?


皈依舞
浏览 459回答 3
3回答

吃鸡游戏

从概念上讲,问题在于数据库游标可能没有枚举到最后,因此在您实际读取所有记录之前,数据库并不真正知道您将获得多少记录。计数的唯一方法(在一般情况下)是遍历结果集中的所有记录。但实际上,您可以通过使用子查询来强制它这样做select *, (select count(*) from table) from table并忽略除第一列以外的记录的第二列。但这是非常粗鲁的,我不建议这样做。

郎朗坤

你会使用 count(*)SELECT count(distinct last)FROM (XYZTable)WHERE date(FROM_UNIXTIME(time)) >= '2013-10-28' ANDid = 90 ;
随时随地看视频慕课网APP

相关分类

Go
我要回答