gpt4 book ai didi

Mysql 计数并连接多个文本行 - 可能吗?

转载 作者:行者123 更新时间:2023-11-29 23:27:28 25 4
gpt4 key购买 nike

我有 2 个表,其中一个包含用户评论,另一个是单击“我喜欢”按钮的列表

TABLE COMMENTS

id | comment | data
---|---------|------
1 | blabla | 12345
2 | hello | 12345
3 | hi | 12345
4 | test | 12345
5 | yuhuu | 12345
6 | dunno | 12345
7 | hello | 12345
8 | blabla | 12345
9 | test | 12345

TABLE ILIKE

id | comment_id | name
---|------------|------
1 | 5 | Peter
2 | 8 | Tim
3 | 5 | Joe
4 | 5 | Peter
5 | 3 | Joe
6 | 8 | Joe
7 | 8 | Peter
8 | 5 |
9 | 3 | Joe
10 | 2 |
11 | 2 |

现在我会计算每条评论有多少条我喜欢的,并且......显示评论者的用户名列表...

所以结果表应该是......类似的东西:

TABLE RESULT

id | comment | data | totlike | from_names
---|---------|-------|---------|--------
1 | blabla | 12345 | 0 |
2 | hello | 12345 | 2 |
3 | hi | 12345 | 2 | Joe
4 | test | 12345 | 0 |
5 | yuhuu | 12345 | 4 | Joe, Peter //double name appears just one time
6 | dunno | 12345 | 0 |
7 | hello | 12345 | 0 |
8 | blabla | 12345 | 3 | Joe, Peter, Tim //if possible order in alphabetic order
9 | test | 12345 | 0 |

如果可能的话我不想要重复的名字我在这里尝试,但我可以做计数人员,但不能做“连接字符串”部分......

http://sqlfiddle.com/#!2/0c9b1d/2

谁能解决这个问题?

SELECT comments.id, comments.comment, count(ilike.id) as count
FROM comments
LEFT JOIN ilike on ilike.comment_id=comments.id
WHERE 1 GROUP BY comments.id

谢谢你,N.

最佳答案

尝试使用

GROUP_CONCAT(ILIKE.name ORDER BY ILIKE.name)

创建逗号分隔列表。

另外,要小心。您正在使用 GROUP BY 的非标准 MySQL 扩展。您似乎正确使用了它,但是查询中的任何更改都可能会改变这一点。如果您切换到

GROUP BY comments.id, comments.comment

您将不再依赖该扩展。

关于Mysql 计数并连接多个文本行 - 可能吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26846052/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com