繁体   English   中英

我的SQL DISTINCT并计算如果

[英]My SQL DISTINCT and count if

我有一张桌子:

在此输入图像描述

我想编写一个查询来为特定用户显示唯一的Adid:

SELECT DISTINCT Adid FROM Message WHERE (MesFrom =1 OR MesTo = 1) AND (MesFrom =2 OR MesTo = 2) ORDER BY ID DESC

这没问题

但现在我想添加新消息的数量,所以我需要类似的东西

SELECT Count(IF(New=1,1,0)) AS countNew FROM Message

但需要将它与之前的查询结合起来

输出必须如下:

43新3 44新1

请帮忙!)

尝试

SELECT Adid, SUM(New = 1) new
  FROM Message 
 WHERE (MesFrom = 1 OR MesTo = 1) 
   AND (MesFrom = 2 OR MesTo = 2) 
 GROUP BY Adid

输出:

| ADID | NEW |
|------|-----|
|   42 |   2 |
|   43 |   3 |
|   44 |   1 |

这是SQLFiddle演示

SELECT DISTINCT Adid , Count(IF(New=1,1,0)) AS countNew
FROM Message
WHERE (MesFrom =1 OR MesTo = 1) AND (MesFrom =2 OR MesTo = 2) 
ORDER BY ID DESC

请检查它是否正常工作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM