如何计算mysql中符合条件的列数?

时间:2016-05-17 05:25:13

标签: php mysql sql database mysqli

您好我有一个mysql表,其中包含DA6220_12-Apr-2016,IA6010_13-Apr-2016等栏目。表结构: -

--------------------------------------------------------------------------------------
| DA6010_12-Apr-2016  | DA6010_13-Apr-2016 | IA6010_12-Apr-2016 | DA6220_12-Apr-2016 | 
|-------------------------------------------------------------------------------------
|                                                                                    |
--------------------------------------------------------------------------------------

所以我想要的是计算特定代码的列数,例如DA6010。如果有一个列DA6010_12-Apr-2016和DA6010_13-Apr-2016,则列总数将为2。我知道计数功能可用于计算列,但我不知道如何计算我们有标准或模式。有没有办法创建一个触发器,以便在表中创建匹配DA6010的任何列时自动计数,或者是否有任何其他方法为其创建SQL查询。

如果有人能帮助我解决这个问题,我将非常感激。

2 个答案:

答案 0 :(得分:1)

以下查询将为您提供符合条件的列数

SELECT COUNT(*) FROM INFORMATION_SCHEMA.COLUMNS   
WHERE TABLE_SCHEMA = 'your_database'   
AND TABLE_NAME = 'your_table'   
AND COLUMN_NAME LIKE 'DA6010%';

答案 1 :(得分:0)

是的,可以通过sql查询来完成。以下sql查询将计算DA6010之类的列数,并返回名为total的列。

SELECT COUNT(*) as total FROM INFORMATION_SCHEMA.COLUMNS   
WHERE TABLE_SCHEMA = 'database_name'   
AND TABLE_NAME = 'table_name'   
AND COLUMN_NAME LIKE 'DA6010%';