gpt4 book ai didi

mysql - 如何从 mysql 数据库中选择最长的文本?

转载 作者:行者123 更新时间:2023-11-29 19:31:10 24 4
gpt4 key购买 nike

我对新闻文章进行聚类。我将大量数据分类为多个集群。我想要做的是从每个包含最长文本内容的集群中获取一个数据。

我有两个表,我想连接这两个表并仅显示具有最长文本的记录。

我的 table :

表格新闻内容

news_id   title   content      category
1 abcd abcd a
2 abcd abcdefg a
3 abcd abcdefghij a
4 efgh efgh a
5 efgh efghijk a
6 efgh efghijklmn a
7 ijkl ijkl b
8 ijkl ijklmn b

表新闻集群

newscluster_id   news_id  category  cluster
1 1 a 0
2 2 a 0
3 3 a 0
4 4 a 1
5 5 a 1
6 6 a 1

期望的输出:

news_id    title    content    category   cluster
3 abcd abcdefghij a 0
6 efgh efghijklmn a 1

我怎样才能做到这一点?

最佳答案

您可以通过使用一系列联接来完成您想要的任务。但是,我感觉您的架构尚未完全规范化。

SELECT t2.news_id,
t2.title,
t2.content,
t2.category,
t1.cluster
FROM newscluster t1
INNER JOIN newscontent t2
ON t1.news_id = t2.news_id
INNER JOIN
(
SELECT t1.cluster, MAX(CHAR_LENGTH(t2.content)) AS max_content_length
FROM newscluster t1
INNER JOIN newscontent t2
ON t1.news_id = t2.news_id
GROUP BY t1.cluster
) t3
ON t1.cluster = t3.cluster AND
CHAR_LENGTH(t2.content) = t3.max_content_length
-- WHERE t2.category = 'a'

关于mysql - 如何从 mysql 数据库中选择最长的文本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41776525/

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