php - Mysql选择大于或等于今天的最近项目但仅限于一个日期

标签 php mysql

我有这个表结构

 CREATE TABLE `fixtures` (
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `date` date NOT NULL DEFAULT '2017-03-23',
  `goalsHomeTeam` int(11) NOT NULL DEFAULT '0',
  `goalsAwayTeam` int(11) NOT NULL DEFAULT '0'
 PRIMARY KEY (`id`)
 ) 

我想获取日期为今天或更晚的项目,但无论何时匹配,它都应该只包含该日期的项目。因此,如果我在 2 月 23 日有 4 个项目,在 2 月 25 日有 3 个项目,两者都比今天大,我只想要 2 月 23 日的项目! 我试过了

            SELECT * 
            FROM fixtures 
            WHERE date >= NOW();

但这会同时带来第 23 和第 25 的元素!

最佳答案

要获取比今天日期最近的日期,您可以使用以下查询:

select min(date) from fixtures where date>current_date

或者这个:

select date from fixtures
where date>current_date
order by date limit 1

(current_date 返回没有时间信息的当前日期,因此您可以只使用 > 而不是 >=)。那么你的查询将是这样的:

select * from fixtures
where date=(select min(date) from fixtures
            where date>current_date)

关于php - Mysql选择大于或等于今天的最近项目但仅限于一个日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42394321/

相关文章:

php - 在 PHP 中查询 MySQL 时间戳

PHP 获取下拉列表选择选项值

php - 在mysql中提交多个和单个提交按钮

mysql - 显示Table1中存储的所有数据以及Table2中与Table1相关的最后一条记录

php - 如何将图像保存到 android 中的 SQLite 数据库?

PHP setcookie() 奇怪的行为

PHP文件上传到mysql

php - 共享主机中的安全性

mysql - 使用 MySQL 触发器的优缺点

php - Zabbix:无法确定 "dbversion"