您好我有一个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查询。
如果有人能帮助我解决这个问题,我将非常感激。
答案 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%';