计算表中的出现次数(MySQL)
Posted
技术标签:
【中文标题】计算表中的出现次数(MySQL)【英文标题】:Count occurrence in a table (MySQL) 【发布时间】:2017-09-22 08:01:23 【问题描述】:所有,我有一个有两列的表,可以有任意数量的行,类型和位置名称可以是任何名称,尽管类型始终按字母顺序排列 -
Type Location
Inmate Holding
Inmate Holding
Inmate Processing
Person Processing
Person Reception
Person Reception
Person Reception
Visitor Processing
Visitor Reception
Visitor Reception
我需要计算类型相对于位置的出现次数,所以结果是 -
Quantity Type Location
2 Inmate Holding
1 Inmate Processing
1 Person Processing
3 Person Reception
1 Visitor Processing
2 Visitor Reception
我曾想过使用 select Type(Count* 等,但这只是添加了所有类型并告诉我有 10 个(行)并选择不同的 Type(Count 似乎不起作用。
我相信我可以用变量来做到这一点,检测类型或位置名称的变化等,但我不希望必须创建存储过程(在 mysql 中)。
还有其他方法吗?
问候,活跃
【问题讨论】:
"类型始终按字母顺序排列" 关系数据库中的数据是集合,因此它们是无序的。 【参考方案1】:试试:
select Type, Location , count(*) from table group by Type, Location;
【讨论】:
感谢 Umais 和 Krishnakumar(工作正常)。幸运的是,这个论坛包括比我更有逻辑性的人。 很高兴能提供帮助。如果对您有好处,您可以接受解决方案作为答案 可悲的是,您如何接受解决方案作为答案,如果它对您有好处对我来说并不明显,似乎没有按钮/链接可以这样做,所以我在此评论中接受您的回答. 啊,找到了(大勾号)。【参考方案2】:您是否尝试过按两列分组并在 select 中将计数排在其他列之前。
SELECT COUNT(*), Type, Location from TABLE GROUP BY Type, Location
【讨论】:
以上是关于计算表中的出现次数(MySQL)的主要内容,如果未能解决你的问题,请参考以下文章