我有这个表结构
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/