【问题标题】:Select count of value选择价值计数
【发布时间】:2014-01-23 14:43:41
【问题描述】:

我有一个表,我在其中存储博客文章的比率(喜欢、不喜欢),我需要为每篇文章选择喜欢和不喜欢的数量(当然,在表中加入博客 :)) 表格如下所示:

+---------+---------+-----------+
| id_user |  rate   |  id_blog  |
+---------+---------+-----------+
|    1    |  like   |     1     |
|    2    | dislike |     1     |
|    3    |  like   |     1     |
|    6    |  like   |     1     |
               .    
               . 
               . 

如何做到最好?或者这样实现它是个坏主意?

【问题讨论】:

  • 为什么不使用 1 或 0 来表示喜欢/不喜欢而不是字符串。
  • 您的问题是什么?您要求的是 SQL 还是架构设计?
  • 帖子标识符在哪里指定?
  • 你的意思是 Select id_user, count(*) FROM table where rate = 'like' ?而不是使用选择的 id_users,与您的其他表进行连接..
  • @Tommo1977:也许他将来会想使用“非常不喜欢”的比率:) 开玩笑

标签: mysql sql


【解决方案1】:

你可以使用:

SELECT 
  id_blog, 
  SUM(rate='like') AS like_count, 
  SUM(rate='dislike') AS dislike_count 
FROM 
  blog_posts 
GROUP BY 
  id_blog

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多