【问题标题】:return count of likes and dislikes on image返回图像上喜欢和不喜欢的计数
【发布时间】:2013-01-23 07:19:14
【问题描述】:

我的表包含 img_idlikes 列。 示例:

 1  1
 1  1
 1  0
 2  0
 2  0
 3  1

所以当运行这个查询时:

select img_id, count(likes)
from my_table
where likes = 1
group by img_id

结果如下:

1  2
3  1

我跑步的时间:

select img_id, count(likes)
from my_table
where likes = 0
group by img_id

结果是:

1 1
2 2

我的问题是:

如何在 query1 img_id 2 = 0 中返回,我的意思是 img_id = 2 没有喜欢 同样在查询 2 img_id = 3 没有不喜欢,所以我需要返回 3 -> 0

【问题讨论】:

    标签: mysql sql sql-server tsql


    【解决方案1】:

    在 MySQL 和 SQL Server 中,

    SELECT  img_id,
            SUM(CASE WHEN likes = 1 THEN 1 ELSE 0 END) totalLikes,
            SUM(CASE WHEN likes = 0 THEN 1 ELSE 0 END) totalDisLikes
    FROM    tableName
    GROUP   BY img_ID
    

    或者只是在 MySQL 中,

    SELECT  img_id,
            SUM(likes = 1) totalLikes,
            SUM(likes = 0) totalDisLikes
    FROM    tableName
    GROUP   BY img_ID
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-05-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-04-04
      • 2016-12-31
      • 2012-05-16
      相关资源
      最近更新 更多