veo seguir puedo publicaciones porque poner ponen mis los hashtags guardan funcionan deja arroba aparecen sql count

sql - seguir - Cuente el número de ocurrencias para cada valor único



porque no veo mis hashtags en instagram (4)

Debes cambiar la consulta a:

SELECT time_col, COUNT(time_col) As Count FROM time_table WHERE activity_col = 3 GROUP BY time_col

Este vl funciona correctamente.

Esta pregunta ya tiene una respuesta aquí:

Básicamente tengo una tabla similar a esta:

time.....activities.....length 13:00........3.............1 13:15........2.............2 13:00........3.............2 13:30........1.............1 13:45........2.............3 13:15........5.............1 13:45........1.............3 13:15........3.............1 13:45........3.............2 13:45........1.............1 13:15........3.............3

Un par de notas:

  • Las actividades pueden ser entre 1 y 5.
  • La longitud puede estar entre 1 y 3.

La consulta debería regresar:

time........count 13:00.........2 13:15.........2 13:30.........0 13:45.........1

Básicamente, para cada hora única quiero un recuento del número de filas donde el valor de las actividades es 3.

Entonces puedo decir:

At 13:00 there were X amount of activity 3s. At 13:45 there were Y amount of activity 3s.

Entonces quiero un recuento para la actividad 1s, 2s, 4s y 5s. así que puedo trazar la distribución para cada tiempo único.


Sí, puedes usar group by :

select time, activities, count(*) from table group by time, activities;


Si estoy entendiendo tu pregunta, ¿esto funcionaría? (tendrá que reemplazar con sus nombres de columna y tabla reales)

SELECT time_col, COUNT(time_col) As Count FROM time_table GROUP BY time_col WHERE activity_col = 3


select time, coalesce(count(case when activities = 3 then 1 end), 0) as count from MyTable group by time

Ejemplo de violín de SQL

Salida:

| TIME | COUNT | ----------------- | 13:00 | 2 | | 13:15 | 2 | | 13:30 | 0 | | 13:45 | 1 |

Si desea contar todas las actividades en una consulta, puede hacer:

select time, coalesce(count(case when activities = 1 then 1 end), 0) as count1, coalesce(count(case when activities = 2 then 1 end), 0) as count2, coalesce(count(case when activities = 3 then 1 end), 0) as count3, coalesce(count(case when activities = 4 then 1 end), 0) as count4, coalesce(count(case when activities = 5 then 1 end), 0) as count5 from MyTable group by time

La ventaja de esto sobre la agrupación por actividades, es que devolverá un conteo de 0 incluso si no hay actividades de ese tipo para ese segmento de tiempo.

Por supuesto, esto no devolverá filas para segmentos de tiempo sin actividades de ningún tipo. Si necesita eso, deberá usar una combinación izquierda con la tabla que enumera todos los segmentos de tiempo posibles.