Try the following:
SELECT a.user,
(
(a.12am + a.1am + a.2am + a.3am + a.4am + a.5am + a.6am + a.7am + a.8am + a.9am + a.10am + a.11am + a.12pm)
/
(IF(a.12am > 0, 1, 0) +
IF(a.1am > 0, 1, 0) +
IF(a.2am > 0, 1, 0) +
IF(a.3am > 0, 1, 0) +
IF(a.4am > 0, 1, 0) +
IF(a.5am > 0, 1, 0) +
IF(a.6am > 0, 1, 0) +
IF(a.7am > 0, 1, 0) +
IF(a.8am > 0, 1, 0) +
IF(a.9am > 0, 1, 0) +
IF(a.10am > 0, 1, 0) +
IF(a.11am > 0, 1, 0) +
IF(a.12pm > 0, 1, 0)
)
)
FROM tableA a
GROUP BY a.user;
source
share