#1242-子查询返回超过1行-如何在mysql中处理此问题
我有一个类似这样的mysql查询#1242-子查询返回超过1行-如何在mysql中处理此问题,mysql,Mysql,我有一个类似这样的mysql查询 "select n.message, count(n.id), (select m.id from new2 AS m where m.message = n.message) from new2 as n group by n.message" 在表new2中,我有id和message的组合 我需要得到id和具有相同消息值的id的计数 怎么做 我的桌子的结构是 id message 1 m1 2 m2
"select n.message, count(n.id),
(select m.id from new2 AS m where m.message = n.message)
from new2 as n
group by n.message"
在表new2中,我有id和message的组合
我需要得到id和具有相同消息值的id的计数
怎么做
我的桌子的结构是
id message
1 m1
2 m2
3 m3
4 m1
5 m2
6 m2
7 m1
我需要得到像这样的输出
message count(n.id) ids
m1 3 1,4,7
m2 3 2,5,6
m3 1 3
查询中有多行
(select m.id from new2 AS m where m.message = n.message)
使用LIMIT
避免错误
select n.message, count(n.id),
(select m.id from new2 AS m where m.message = n.message LIMIT 1)
from new2 as n
group by n.message
不需要子查询,您可以使用函数从组中获取所有ID
SELECT n.message, COUNT(n.id), GROUP_CONCAT(n.id)
FROM new2 as n
GROUP BY n.message
这将为您提供一个不同的消息列表,并计算每个消息的数量:
select n.message, count(n.id) from new2 as n group by n.message
你能给出一些结构的虚拟数据吗?id消息1 m1 2 m2 3 m3 4 m1 5 m2 6 m2 7 m1你想做什么?您是要获取给定消息的id,还是要获取表中这些消息的数量?我需要获取消息计数(n.id)id m1 3 1,4,7 m2 3 2,5,6 m3 1 3等输出,但我需要显示具有相同消息值的所有id