gpt4 book ai didi

Mysql 计数列大于 0

转载 作者:可可西里 更新时间:2023-11-01 07:37:17 25 4
gpt4 key购买 nike

我有一个数据库,例如:

USER   12am 1am 2am 3am 4am 5am 6am 7am 8am 9am 10am 11am 12pm
--------------------------------------------------------------
user1 5 0 6 7 8 0 9 0 0 0 0 0 0

我想要所有列的平均值。我可以很容易地将列相加,但我想计算值大于 0 的列。在这种情况下,它将是 5。这样我就可以除以 35/5 得到 7。

最佳答案

试试这个:

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;

关于Mysql 计数列大于 0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19283999/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com