我目前正在建立一个棒球网站。在页面的一侧,我想显示下一个即将到来的游戏的信息。我正在使用mysql ver。 5.0.45。我的表是这样构建的:
反对队伍,日期,时间,分数
我尝试了以下查询:
SELECT *
FROM schedule
WHERE MIN(DATEDIFF(CURDATE(),date))
MIN()
函数错误答案 0 :(得分:12)
如果您想显示下一个游戏(包括今天),您可以使用以下内容:
SELECT * FROM `schedule` WHERE `date` >= CURDATE() ORDER BY `date` LIMIT 1;
如果您想显示所有即将推出的游戏,请使用:
SELECT * FROM `schedule` WHERE `date` >= CURDATE() ORDER BY `date`;
答案 1 :(得分:0)
我认为它是这样的:
SELECT * FROM `schedule` WHERE `date` > NOW() ORDER BY `date` LIMIT 1
LIMIT 1
限制查询返回一行,但如果您需要多行,则可以相应地调整数量(或完全省略LIMIT 1
,以获取所有未来游戏的数据)< / p>
答案 2 :(得分:0)
也许:
select top 1 * from schedule where date>=CURDATE() order by date
答案 3 :(得分:0)
要考虑几件事。
如果你将一个专栏命名为“约会”,你很可能会把自己托付给永恒的折磨。
众所周知,查询优化器在优化将表达式和/或函数与值进行比较的查询方面无能为力 - 尝试仅使用列名。
因此,您应该将日期列的值与CURDATE()进行比较。 (可以将列值与表达式或函数进行比较。)
答案 4 :(得分:0)
尝试SELECT max(day) FROM schedule
这是表格中最高的日期。
要获得第二天,请使用:
SELECT
DATE_ADD(max(day),INTERVAL 1 DAY)
FROM schedule
(我使用&#34;日&#34;适用于您的领域&#34;日期&#34;)