我试着把一个列和它的最大值进行比较,用一个查询可以吗?我想要这样的东西:
where data = max(data)
我可以用这样的方法得到想要的结果:
where data = (select max(data) from data_table)
但是我不想实现一个子查询来实现这一点,有没有办法不用子查询来实现呢?obs:子查询没有问题,关于查询性能,date列被编入索引,当我在where子句上应用子查询时,仍然会导致性能问题。
y53ybaqx1#
您可以使用子查询,例如:
select * from tableA tab1 where tab1.data = (select max(tab2.data) from tableA tab2)
gab6jxml2#
您需要更加清楚,因为如果不清楚您想要什么,以及为什么(为什么不想要子查询?!?),你会得到多个答案,但不是所有答案都有效。见鬼,我给你一个:
SELECT * FROM table ORDER BY data DESC LIMIT 1
2条答案
按热度按时间y53ybaqx1#
您可以使用子查询,例如:
gab6jxml2#
您需要更加清楚,因为如果不清楚您想要什么,以及为什么(为什么不想要子查询?!?),你会得到多个答案,但不是所有答案都有效。见鬼,我给你一个: