mysql - 如何编写一个查询,其中 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 新手,想知道是否有人有任何想法或建议来解决这个问题?
解决方案
根据您的评论,您似乎需要以下 -
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)
是多余的条件,因为无论您选择什么值,它总是小于或等于列的最大值。
推荐阅读
- c# - 遍历 IEnumerable 并按日期和时间跨度差异分组
- laravel - Laravel 嵌套数组验证消息
- elasticsearch - 哪种类型的 DBMS 最适合高级搜索功能?
- sql-server - Testcafe - 如何在所有夹具运行后运行代码
- c++ - 如何在 C++ 中精确地记忆递归函数
- android - 属性 app:cornerRadius 不适用于 MaterialButton
- dynamics-crm - Dynamics CRM GUIDS 是大写还是小写存储在 CRM 后端?
- haskell - 制作 Ord 类的 newtype 实例
- c# - wpf Wizard Toolkit ItemsSource 绑定到列表
- php - 如何将变量放入 JSON URL?