首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MYSQL查询-动态计数列中的值

MYSQL查询-动态计数列中的值
EN

Stack Overflow用户
提问于 2013-05-23 22:11:44
回答 2查看 910关注 0票数 0

我想写一个查询来提取一组特定的结果。在这样做的同时,我希望能够在某个字段中保留某个值出现的次数。我正在尝试从设备的表中提取零件号的记录,有各种从表中提取的零件号。

例如,这是我的结果集

代码语言:javascript
复制
CISCO1841
CISCO2610
CISCO2650 
CISCO2610
CISCO2650
CISCO2500

我应该记录下来

CISCO1841出现1次,CISCO2610出现2次,CISCO2650出现2次,CISCO2500出现1次。我需要存储这个计数,并根据这个计数设置另一个列值。在MYSQL中有没有一种有效的方法来做到这一点?

EN

回答 2

Stack Overflow用户

发布于 2013-05-23 22:17:48

对查询进行分组并对结果执行COUNT()操作:

代码语言:javascript
复制
SELECT myColumn, COUNT(*) FROM myTable GROUP BY myColumn

请在sqlfiddle上查看。

票数 1
EN

Stack Overflow用户

发布于 2013-05-23 22:23:42

您可以在插入数据的表上使用trigger,该触发器将通过在单独的表中更新每个单词(例如: CISCO2650)的计数器来保持出现次数的计数。

或者你可以尝试下面这样的查询,但它不是动态的:

代码语言:javascript
复制
SELECT 
    SUM(IF(M_PART_NBR = 'CISCO2610',1,0)) as NBR1, 
    SUM(IF(M_PART_NBR = 'CISCO2811',1,0)) as NBR2,
    SUM(IF(M_PART_NBR = 'CISCO2911',1,0)) as NBR3
FROM 
    C2_INST_PRODUCT WHERE M_PART_NBR LIKE '%CISCO2%' 
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16716222

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档