MySQL Limit 2 如何选择第二行

标签 mysql sql

$sMonOperationHours = "SELECT * FROM ".COMPANY_OPERATION_HOURS_TBL." WHERE 
f_company_id = '$g_companyid' AND f_day = 'MON' LIMIT 2";
$rsMonOperationHours = mysql_query($sMonOperationHours);
$rowMonOperationHours = mysql_fetch_array($rsMonOperationHours);
$iMonStartTime = $rowMonOperationHours['f_start_time'];
$iMonStartTime2 = ???;
$iMonEndTime = $rowMonOperationHours['f_end_time'];
$iMonEndTime2 = ???;

将 SQL 查询结果限制为 2 后,如何选择第二行的 f_start_time 和 f_end_time?

最佳答案

您可以使用 LIMIT 和 OFFSET 来获取第二个结果

$sMonOperationHours = "SELECT * FROM ".COMPANY_OPERATION_HOURS_TBL." WHERE 
f_company_id = '$g_companyid' AND f_day = 'MON' LIMIT 1 OFFSET 1";
$rsMonOperationHours = mysql_query($sMonOperationHours);
$rowMonOperationHours = mysql_fetch_array($rsMonOperationHours);
$iMonStartTime = $rowMonOperationHours['f_start_time'];
$iMonEndTime = $rowMonOperationHours['f_end_time'];

另一种方法是,如果您想要两个结果,那就是:

$sMonOperationHours = "SELECT * FROM ".COMPANY_OPERATION_HOURS_TBL." WHERE 
f_company_id = '$g_companyid' AND f_day = 'MON' LIMIT 2";
$rsMonOperationHours = mysql_query($sMonOperationHours);
$rowsData = array();
$i = 0;
while ($row = mysql_fetch_array($rsMonOperationHours)) {
    $rowsData[$i] = array();
    $rowsData[$i][] =  $row['f_start_time'];
    $rowsData[$i][] =  $row['f_end_time'];
    $i++;
}

所有数据将保存在 rowsData 中,其中包含数组中的结果。

关于MySQL Limit 2 如何选择第二行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49869665/

相关文章:

php - 我的注册表有问题。不插入第二个查询

php - 如何防止 PHP 中的 SQL 注入(inject)?

Mysql 选择一些随机行并加上一个特定行

sql - 如何根据用户在 SQL 中输入的内容将日期时间拆分为周/月

SQL连接字符串?

php - 如何从静态数据创建动态字符串

php - PHP“for循环”上传到数据库

mysql - 在 MySQL 中使用 sum 得到错误的结果

sql - 忽略 WHERE 过滤器转换为 float 时出错

sql - 如何决定维度字段类型