gpt4 book ai didi

mysql - 将嵌套 mysql 查询与另一个表中的字段连接起来

转载 作者:行者123 更新时间:2023-11-29 13:43:07 24 4
gpt4 key购买 nike

我有一个包含整数和参数的表:

date timestamp
123 2013-07-22 16:33:17
123 2013-07-22 16:34:47
234 2013-07-20 16:33:15
332 2013-07-24 16:33:37
422 2013-07-21 10:13:11
422 2013-07-22 14:53:12

我运行以下查询来获取它从中选择的不同数据的数量以及随机的不同数据:

SELECT COUNT(DISTINCT(data)) as count, (SELECT data FROM data_table WHERE
DATE(timestamp) >= '2013/07/22' AND DATE(timestamp) < '2013/07/23'
GROUP BY data ORDER BY rand() LIMIT 1) as data FROM data_table WHERE
DATE(timestamp) >= '2013/07/22' AND DATE(timestamp) < '2013/07/23'

我得到:

count  data
2 123

count  data
2 422

现在我有另一个表,*text_table*,其中有主键数据。它看起来像这样:

data  text
123 "hi"
234 "hey"
332 "bye"
422 "cya"

我需要查询来获取上一个查询的结果,加上文本:

count  data  text
2 123 "hi"

count  data  text
2 422 "cya"

我尝试过:

SELECT text_table.text AS text, COUNT(DISTINCT(data_table.data)) as count,
(SELECT data FROM data_table GROUP BY data ORDER BY rand() LIMIT 1) as data
FROM data_table LEFT OUTER JOIN text_table ON data_table.date = text_table.text

但是无论数据是什么,它总是返回相同的文本

最佳答案

我这样做是为了获取您需要的所有信息。

SELECT COUNT(dt.date) count, dt.date, tt.text FROM data_table dt
JOIN text_table tt ON tt.date = dt.date
GROUP BY dt.date, tt.text

现在你只需要过滤它就可以获得你想要的数据。

像这样,

SELECT COUNT(dt.date) count, dt.date, tt.text FROM data_table dt
JOIN text_table tt ON tt.date = dt.date
WHERE dt.timestamp > '2013/07/22' AND dt.timestamp < '2013/07/23'
GROUP BY dt.date, tt.text

您还可以使用 top 1 来获取第一行

谢谢,奇科

关于mysql - 将嵌套 mysql 查询与另一个表中的字段连接起来,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17820011/

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