use*_*527 3 php mysql phpmyadmin
我想知道sql命令从我的表中检索5个最新行?下面是我的SQL查询.我该怎么办,为了能够选择5行的最新行基来进行处理?
$query =
"SELECT lat, lng, DATE_FORMAT(datetime,'%W %M %D, %Y %T') AS
datetime FROM markers1 WHERE 1";
Run Code Online (Sandbox Code Playgroud)
您需要订购结果,并设置限制.
假设datetime是你想订购的:
$query = "
SELECT
lat,
lng,
DATE_FORMAT(datetime,'%W %M %D, %Y %T') AS datetime
FROM markers1 WHERE 1
ORDER BY datetime DESC
LIMIT 5
";
Run Code Online (Sandbox Code Playgroud)
编辑: 回答OP的评论:"我得到的结果是第一次查询的第50行开始,然后是49,48,47,46这是否可能我可以从第46,47,48,49,50行开始?"
您可以使用PHP中的结果执行此操作,方法是获取行并将它们存储在数组中并反转数组.我不相信你可以反过来有效地循环mysql结果资源.
要在SQL查询中执行此操作,您需要使用原始查询创建临时表:
$query = "
SELECT
lat,
lng,
DATE_FORMAT(datetime,'%W %M %D, %Y %T') AS datetime
FROM (
SELECT
lat,
lng,
datetime
FROM markers1 WHERE 1
ORDER BY datetime DESC
LIMIT 5
) AS tmp_markers
ORDER BY datetime ASC
";
Run Code Online (Sandbox Code Playgroud)
初始查询的结果用作在新查询中搜索的表,该查询按日期时间升序排序.我必须在外部查询上应用DATE_FORMAT,因为我们需要再次按日期时间字段排序.
| 归档时间: |
|
| 查看次数: |
9570 次 |
| 最近记录: |