SQL查询选择,订购日期
嗨,我需要从我的桌子中选择日期,问题是我有130行以上,每天都会增长。我想缩短它并在查询中选择今天等于date=date("Y-m-d")
的日期和从今天起更大的日期。
它可以是今天的变量,因为我使用日期选择在日期之间分页。我知道我可以使用时间戳,但我不知道如何在查询中实现它。
$r = mysql_query("SELECT date FROM yoman ORDER BY date ASC,time ASC ")
or die(mysql_error());
我希望你会unserstand,http://attiatech.com/projects/tours/index.php?db=cmVsXzIwMTI=这是链接,尝试选择1.10.2012并查看打印了多少行,我有第二个选项查看分页但我想在此查询中过滤它也是。
答案 0 :(得分:0)
set @dte=sysdate();
select sysdate()
SELECT date
FROM yoman
where date>=@dte
ORDER BY date ASC,time ASC
答案 1 :(得分:0)
我假设您将日期存储为字符串“Y-m-d”。
尽管使用此表作为表列类型可能更好:
http://dev.mysql.com/doc/refman/5.1/en/datetime.html
所以例如:
$startdate= date("Y-m-d", $day);
$enddate= date("Y-m-d",strtotime("+1 day", $day)) - 1;
获取一天的SQL是这样的:
SELECT *
FROM yoman
WHERE date BETWEEN $startdate AND $enddate
ORDER BY date ASC,time ASC
答案 2 :(得分:0)
如果你想要今天和未来日期的所有行你可以直接使用没有php的SQL查询,只需使用curdate()否则如果你使用sysdate()
current_timestamp
etc
它还会检查时间而你不想要它,因为如果你在上午10点启动查询,你就不会在当天上午10点之前获得所有行...
SELECT date FROM yoman WHERE date >= CURDATE() ORDER BY date ASC, time ASC
答案 3 :(得分:-2)
SELECT date FROM yoman ORDER BY date,time ASC