如何创建SQL语句以计算行中的值

Yan*_*ick 0 mysql sql

我正在尝试构建一个SQL,它将返回所有事件的文件总量.

D B:

id | name    | filename1 | filename2
1    event1    1.jpg       2.jpg
2    event2    1.jpg       Null
Run Code Online (Sandbox Code Playgroud)

如果你看这个场景,它应该返回"你有3个文件",但我不知道如何制作SQL.

我正在使用mySQL.

谢谢

Tar*_*ryn 5

您可以取消或使用和字段中UNION ALL的数据,然后获得总计数.在从多个列中取得数据,并将其转换为多行:filename1filename2UNION ALL

select count(files) Total
from
(
    select name, filename1 as files
    from yourtable
    union all
    select name, filename2
    from yourtable
) src
Run Code Online (Sandbox Code Playgroud)

请参阅SQL Fiddle with Demo