你能帮我么。我正在尝试获取每天的记录以及第二天的第一条记录(2013-08-31)。
这是我尝试过的:
SELECT * FROM vehicle WHERE `number` = 'ABC123' AND `date`='2013-08-30');
第一条记录,需要一个包含数字或日期的列,我们可以找到它MAX()
或其他东西来订购它。
因此,在您的情况下,我假设您有一列vehicle_id
包含整数类型 data 和autonumber。
所以你的查询是:
SELECT * FROM vehicle WHERE date = '2013-08-30' ORDER BY vehicle_id DESC LIMIT 1
你会得到你想要的
我使用这种方法,它的工作,但反应慢。
(SELECT * FROM vehicle WHERE
数字= 'ABC123' AND
日期='2013-08-30' ORDER by date asc)
UNION
(SELECT * FROM vehicle WHERE
数字= 'ABC123' AND
日期='2013-08-30' ORDER by date asc limit 1);
谁能有更好的?感谢!
这将获得第二天的第一条记录:
SELECT *
FROM vehicle
WHERE number = 'ABC123' AND date = '2013-08-31'
ORDER by <some column>
LIMIT 1
如果您希望在一个查询中同时获得两个结果,请将它们与UNION
.
SELECT *
FROM (SELECT *
FROM vehicle
WHERE number = 'ABC123' AND date = '2013-08-31'
ORDER BY <some column>
LIMIT 1) AS next_day
UNION ALL
(SELECT *
FROM vehicle
WHERE number = 'ABC123' AND date = '2013-08-30'
) AS first_day
尝试这个
$query = "SELECT * FROM vehicle
WHERE
number = 'ABC123'
AND date = '".date('Y-m-d')."'
AND date = '".date('Y-m-d',strtotime("+1 days"))."'";
这将返回您当前日期和下一个日期的日期,假设您的当前日期是'2013-08-30'
下一个日期'2013-08-31'