首页 > 解决方案 > 如何编写一个查询,其中 between 语句是来自同一个表的 select 语句-MYSQL

问题描述

我有一个要写的查询

select * from my_table where updated_date is >= '19/20/12' AND <=max(updated_date)

我的桌子是这样的:

field1| updated_date | field3

所以我想要 my_table 中的所有记录,其中 updated_date 字段的最大值 >='19/20/12'

但是,当我运行我的命令时,它说无效使用组功能。我是 sql 新手,想知道是否有人有任何想法或建议来解决这个问题?

标签: mysqlsql

解决方案


根据您的评论,您似乎需要以下 -

select *
from my_table
where updated_date between '19/20/12' AND (SELECT max(updated_date) FROM my_table)

或者

select *
from my_table
where updated_date >= '19/20/12' AND updated_date <= (SELECT max(updated_date) FROM my_table)

正如所有其他人所评论的那样,使用updated_date <= max(updated_date)是多余的条件,因为无论您选择什么值,它总是小于或等于列的最大值。


推荐阅读