我有一张 table :
我想编写一个查询来为特定用户显示唯一的 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 演示
关于mysql - Mysql DISTINCT 和 count if,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20172900/