表:统计
id | user | Message
----------------------
1 | user1 |message1
2 | user2 |message2
3 | user1 |message3
我能够找到每个用户使用此查询发送的邮件数。
select user, count(*) from statistics group by user;
如何显示消息列数据和计数?例如
user | count | message
------------------------
user1| 2 |message1
|message3
user2| 1 |message2
5条答案
按热度按时间i2byvkas1#
使用组\u concat
这将为您提供csv格式的消息
注意:在mysql中,groupconcat的默认大小限制为1024个字符。
对于utf,它转到1024/3和utfmb4 255(1024/4)。
您可以使用group\u concat\u max\u len全局变量根据需要设置其最大长度,但要考虑生产环境中的内存因素
更新:
您可以使用组\u concat中的任何分隔符
6kkfgxo02#
尝试使用自联接进行分组:
xa9qqrwz3#
tpxzln5u4#
你可以的
join
你的研究结果group by
整张table(反之亦然)?或者,根据你想要什么,你可以用
group_concat()
使用\n
作为分隔符。f2uvfpb95#
你好像想表现出来
Count
由user
,其中message
发送人user
.如果你的mysql版本不支持窗口函数,你可以通过子查询来实现
row_number
在“选择子查询”中,然后仅显示rn=1
用户和计数查询1:
结果: