Mysql 我的SQL是独立的,如果

Mysql 我的SQL是独立的,如果,mysql,sql,distinct,Mysql,Sql,Distinct,我有一张桌子: 我想编写一个查询来显示特定用户的唯一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 但是需要将它与前面的查询结合起来 输出必须如下

我有一张桌子:

我想编写一个查询来显示特定用户的唯一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 | |ADID |新| |------|-----| | 42 | 2 | | 43 | 3 | | 44 | 1 | 这里是演示

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

请检查它是否工作

在sql查询之后添加限制100该限制不起作用(它只输出一行,因为DISTINCT也会检查新列的唯一值(谢谢Lakmal。限制是在将来计划的,现在我只是尝试创建一个结构)非常好!!!谢谢!也许你可以帮我做另一个。我是SQL新手,必须尝试100个变体才能获得所需的SELECT DISTINCT LEST(Message.MesFrom,Message.MesTo)作为user1,BEASTER(Message.MesFrom,Message.MesTo)从用户从MESO=1或MeSTO=1阶的消息中,用户ID从同一个表输出,现在我尝试添加新的消息计数…@ AddiyPopvo,不受欢迎。这里不鼓励通过改变上下文或范围来稀释问题。因此请考虑创建另一个问题并将所有的细节放在W上。ith样本数据(文本形式,而非图片)和所需输出。其他SO成员或我将很乐意帮助您。