[英]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.