gpt4 book ai didi

mysql - 将 6 个项目加在一起得出总数,但不要将它们的值加在一起

转载 作者:行者123 更新时间:2023-11-29 08:32:34 26 4
gpt4 key购买 nike

有点新手,对你来说可能是一个非常基本的问题,但让我发疯了。

我有一个 mysql 表。我有一个记录,其中有一个记录 ID,以及其他六个包含照片名称的字段。

所以,Record_id,照片1,照片2,照片3,照片4,照片5,照片6

我希望得到最终结果,其中有一个名为“TOTAL”的列,该列显示总共包含照片的记录数。那么,记录 1 可能总共有 5 张照片,记录 2 可能有 3 张照片,记录 3 可能总共没有该记录的记录,等等?

现在上传到该字段的一些照片名称可能包含数字,即 photo244.jpg 或 pic3993.jpg 等 - 所以我不希望这些数字加在一起,我只是在寻找该字段是否其中包含名称等,这将被计为 1 添加到总数中。因此,页面上的最终结果是记录 13(例如)总共有 4 张照片等 - 如果解释不充分,抱歉!

它可能与 SUM 或 COUNT 有关,但花了很长时间尝试获得组合或正确的键/语法!任何人都可以通过给出 mysql select 语句的示例来提供帮助 - 将不胜感激!

最佳答案

我认为如果没有照片,那么字段 photoX 为 null 或为空。
所以使用CASE如果字段为 null 或空,则输出 0,否则输出 1。

SELECT Record_id
,
CASE WHEN (photo1 IS NULL OR photo1 = '') THEN 0 ELSE 1 END
+ CASE WHEN (photo2 IS NULL OR photo2 = '') THEN 0 ELSE 1 END
+ CASE WHEN (photo3 IS NULL OR photo3 = '') THEN 0 ELSE 1 END
+ CASE WHEN (photo4 IS NULL OR photo4 = '') THEN 0 ELSE 1 END
+ CASE WHEN (photo5 IS NULL OR photo5 = '') THEN 0 ELSE 1 END
+ CASE WHEN (photo6 IS NULL OR photo6 = '') THEN 0 ELSE 1 END
AS Total
FROM myTable

关于mysql - 将 6 个项目加在一起得出总数,但不要将它们的值加在一起,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16168820/

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