Sql 统计表中每个不同元素的出现次数
我正在ASP.NET/C中编写一个日志查看器应用程序。有一个报告窗口,可以在其中检查有关整个数据库的一些信息。我想在屏幕上显示的一种信息是每个生成器在我的域中实体出现的次数,而不是Firebirds序列出现在表中的次数。我如何使用COUNT来实现这一点 我是否必须: 为每个不同的生成器收集密钥 使用count为每个生成器键运行一个查询 以某种方式展示它 有没有什么方法可以不必对数据库进行两次查询就可以做到这一点?数据库的大小可能非常大,必须查询X次,其中X是生成器的数量,这将非常糟糕 我使用的是Firebird数据库,有没有办法从任何元数据模式获取这些信息,或者没有这样的东西可用Sql 统计表中每个不同元素的出现次数,sql,firebird,Sql,Firebird,我正在ASP.NET/C中编写一个日志查看器应用程序。有一个报告窗口,可以在其中检查有关整个数据库的一些信息。我想在屏幕上显示的一种信息是每个生成器在我的域中实体出现的次数,而不是Firebirds序列出现在表中的次数。我如何使用COUNT来实现这一点 我是否必须: 为每个不同的生成器收集密钥 使用count为每个生成器键运行一个查询 以某种方式展示它 有没有什么方法可以不必对数据库进行两次查询就可以做到这一点?数据库的大小可能非常大,必须查询X次,其中X是生成器的数量,这将非常糟糕 我使用的是
基本上,我想要的是统计表中每个生成器的每次出现次数。结果可能是:生成器A:10次,生成器B:7次,生成器C:0次等等。如果我正确理解了你的问题,使用该子句很简单,例如:
select
key,
count(*)
from generators
group by key;
如果我对你的问题理解正确,使用该条款很简单,例如:
select
key,
count(*)
from generators
group by key;
根据您的具体结构和要求,下面的查询应该足够了
SELECT KEY, COUNT(*)
FROM YOUR_TABLE
GROUP BY KEY
根据您的具体结构和要求,下面的查询应该足够了
SELECT KEY, COUNT(*)
FROM YOUR_TABLE
GROUP BY KEY
我用这个简单的查询解决了我的问题:
SELECT GENERATOR_,count(*)
FROM EVENTSGENERAL GROUP BY GENERATOR_;
谢谢那些帮助我的人。
我花了8个小时回来发布答案,因为StackOverflow限制了我根据自己的声誉回答自己的问题。我用这个简单的查询解决了我的问题:
SELECT GENERATOR_,count(*)
FROM EVENTSGENERAL GROUP BY GENERATOR_;
谢谢那些帮助我的人。
我花了8个小时才回来发布答案,因为基于我的声誉,回答我自己的问题受到StackOverflow限制。你对generator是什么意思?你是说Firebird generators aka sequences,还是这是你域中的某个实体?@MarkrotVeel GENERATOR是我域中的一个实体,很抱歉没有提供这样的信息我真的不明白你想做什么,但为什么不从第2阶段运行查询,并对生成器密钥使用group by子句分组?@a.B.Cade我不是SQL Master,与此不尽相同。我将看看我能用GROUPBY做些什么,因为我从未使用过它:/基本上,我想要的是统计表中每个生成器的每次出现次数。结果是:生成器A:10次,生成器B:7次,生成器C:0次,依此类推。感谢@A.B.Cade回复关于group by的问题。我用这个简单的查询解决了我的问题:选择GENERATOR,count*fromEventsGeneralGroup BY GENERATOR;再次感谢。问题解决了,发电机是什么意思?你是说Firebird generators aka sequences,还是这是你域中的某个实体?@MarkrotVeel GENERATOR是我域中的一个实体,很抱歉没有提供这样的信息我真的不明白你想做什么,但为什么不从第2阶段运行查询,并对生成器密钥使用group by子句分组?@a.B.Cade我不是SQL Master,与此不尽相同。我将看看我能用GROUPBY做些什么,因为我从未使用过它:/基本上,我想要的是统计表中每个生成器的每次出现次数。结果是:生成器A:10次,生成器B:7次,生成器C:0次,依此类推。感谢@A.B.Cade回复关于group by的问题。我用这个简单的查询解决了我的问题:选择GENERATOR,count*fromEventsGeneralGroup BY GENERATOR;再次感谢。问题解决了。