SELECT * from User返回75个用户.是否可以选择第一个用户和第75个用户而不做while($row = mysql_fetch_assoc($result))?如何?
UPDATE
为了更清楚:我需要有SELECT *第一个和第75个用户才能做到这一点,while mysql_fetch_assoc所以ASC, DESC, LIMIT答案不是必需的.
Sau*_*aul 20
SELECT * from User LIMIT 1
UNION
SELECT * from User LIMIT 74,1
Run Code Online (Sandbox Code Playgroud)
编辑
@Kay:PHP在创建后无法更改结果集的内部顺序.
如果查询总是返回75行,那么访问第1和第75之前的唯一方法就是使用mysql_data_seek来移动内部结果指针:
$result = mysql_query('SELECT * from User');
mysql_data_seek($result, 1);
$row1 = mysql_fetch_assoc($result);
mysql_data_seek($result, 75);
$row75 = mysql_fetch_assoc($result);
Run Code Online (Sandbox Code Playgroud)
请注意,如果上面跟着a while,则必须将指针重置到合适的位置.
ale*_*lex 14
如果你可以对它进行排序,你可以.
Select * from User order by [something] asc limit 1
Run Code Online (Sandbox Code Playgroud)
和
Select * from User order by [something] desc limit 1
Run Code Online (Sandbox Code Playgroud)
假设你有'id'作为主键,你需要最后一个(不是第75个)你可以尝试类似的东西:
SELECT * FROM User WHERE id IN ((SELECT min(id) FROM user b), (SELECT max(id) FROM user c))
Run Code Online (Sandbox Code Playgroud)