没有子查询的mysql compare max in

gz5pxeao  于 2021-06-21  发布在  Mysql
关注(0)|答案(2)|浏览(304)

我试着把一个列和它的最大值进行比较,用一个查询可以吗?
我想要这样的东西:

where data = max(data)

我可以用这样的方法得到想要的结果:

where data = (select max(data) from data_table)

但是我不想实现一个子查询来实现这一点,有没有办法不用子查询来实现呢?
obs:子查询没有问题,关于查询性能,date列被编入索引,当我在where子句上应用子查询时,仍然会导致性能问题。

y53ybaqx

y53ybaqx1#

您可以使用子查询,例如:

select *
from tableA tab1
where tab1.data = (select max(tab2.data)
                   from tableA tab2)
gab6jxml

gab6jxml2#

您需要更加清楚,因为如果不清楚您想要什么,以及为什么(为什么不想要子查询?!?),你会得到多个答案,但不是所有答案都有效。见鬼,我给你一个:

SELECT * FROM table ORDER BY data DESC LIMIT 1

相关问题