Cuento registros con consultas como
SELECT COUNT(col1) FROM table1 WHERE col1 LIKE '%something%'
SELECT COUNT(col1) FROM table1 WHERE col1 LIKE '%another%'
SELECT COUNT(col1) FROM table1 WHERE col1 LIKE '%word%'
Para cada recuento, mysql necesita caminar por la mesa, y este es un gran problema si tiene una tabla larga y numerosas consultas.
Me pregunto si hay una manera de hacer todos los recuentos en una consulta. En este caso, cuando mysql recorre cada fila, procesará todos los recuentos y no será necesario escanear la tabla completa una y otra vez.
mysql
query
query-performance
count
Googlebot
fuente
fuente

Respuestas:
Para obtener un recuento de cada uno de ellos, puede intentar
fuente
Similar a la solución de Aaron, sintaxis más corta:
La expresión LIKE produce un resultado booleano.
TRUEes 1 ,FALSEes 0 , por lo queCASEes redundante aquí.fuente
TINYINTen esta historia.SUMtoma cualquier tipo de número que sea (incluso flotante) y produce un resultado numérico. PuedeSUMcolumnas deTINYINTtipo para obtener valores en miles, eso no es un problema.TINYINTen esta historia" quizás no fue una buena oración para comenzar.SUMfunción como se menciona aquí no funciona de la misma manera en MS SQL Server. En Transct-SQL soloSUMse puede usar con columnas numéricas.Si respondo bien a su necesidad, quizás esto sea suficiente:
fuente