mysql - 如何将“Mysql JOIN”与同一张表的 sql 文本一起使用
问题描述
我想用mysql的“JOIN”
我想按“date_text”对行进行分组,其中“tokenIdx”为“1001”,“datetime_unix”为最大值。
我的代码错了吗?
SELECT `A.idx`
FROM `data_candle_h1` 'A'
JOIN
(
SELECT `date_text`, MAX(`datetime_unix`) AS 'datetime_unix'
FROM `data_candle_h1`
WHERE `tokenIdx` = '1002'
GROUP BY `date_text`
) 'B'
ON `A.datetime_unix` = `B.datetime_unix`
WHERE `A.tokenIdx` = '1002'
解决方案
您的查询在语法上是完美的。只需删除表别名(A 和 B)周围的单引号('')。我已经纠正了。请检查一下。
SELECT `A.idx`
FROM `data_candle_h1` A
JOIN
(
SELECT `date_text`, MAX(`datetime_unix`) AS 'datetime_unix'
FROM `data_candle_h1`
WHERE `tokenIdx` = '1002'
GROUP BY `date_text`
) B
ON `A.datetime_unix` = `B.datetime_unix`
WHERE `A.tokenIdx` = '1002'
推荐阅读
- c - 带压缩的加权快速联合不比没有压缩快
- mysql - 如何将sql查询结果拆分成新的增量表
- php - 如何在 $.post({}) ajax 中使用内容类型
- css - 在不使用 Vuetify 的断点服务的情况下应用不同的 CSS 类
- c# - C# 类库项目 (RAGE:MP) 中缺少 SQL DLL
- java - 使用 RemoteWebDriver 和 Selenium 时启用浏览器日志不起作用
- typescript - 使用相同类型名称时如何精确识别TS错误消息中的类型
- javascript - HTML / JS - 如何放大表格并拖动它?
- tensorflow - TensorFlow GPU 启动时间长
- linux - 当使用 Linux NIS(网络信息服务)管理用户时,如何使用当前主机用户运行 docker