2016-05-17 3 views
0

Привет, у меня есть таблица mysql, которая имеет столбцы, такие как DA6220_12-Apr-2016, IA6010_13-Apr-2016 и так далее. Структура таблицы: -Как подсчитать количество столбцов в mysql, соответствующих критериям?

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

Так что я хочу, чтобы подсчитать количество столбцов для particularcode как DA6010 для экс. если есть столбец DA6010_12-Apr-2016 и DA6010_13-Apr-2016, тогда общее количество столбцов будет равно двум. Я знаю, что count fuction может использоваться для подсчета столбцов, но я не знаю, как считать, когда у нас есть критерии или шаблон. Есть ли способ создать триггер для автоматического подсчета, когда в таблице создается любой столбец, соответствующий DA6010, или есть какой-либо другой способ создать для него SQL-запрос.

Я был бы очень признателен, если кто-нибудь может помочь мне в решении этой проблемы.

+0

Может ли это быть достигнуто с помощью триггера, так что подсчет производится автоматически –

+0

@Atif Можете ли вы предоставить способ с триггерами, потому что есть много различных кодов, так что было бы хорошо, чтобы сделать с триггером, чем для запуска отдельного запроса для все коды –

+0

что-то странно здесь, похоже, что OP и @KartikeyVishwakarma - это тот же пользователь .... носок-кукольный, может быть ??? –

ответ

1

После запроса даст вам количество столбцов, соответствующих указанным критериям

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

Atif - ваше решение отлично работает, но я был бы очень благодарен, если вы сможете предоставить триггеры. –

+0

Что касается моего исследования, триггеры в этом случае не помогут – Atif

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%'; 
Смежные вопросы