【问题标题】:get first and last value form a mysql results array从 mysql 结果数组中获取第一个和最后一个值
【发布时间】:2014-06-06 22:02:25
【问题描述】:

您将如何从 sql 查询中获取第一个和最后一个值。 我想要变量 $integer1 的最高和最低值,所以我在我的 sql 查询中按升序对它们进行了排序,但现在需要将它们作为第一项和最后一项从数组中拉出。我试过了,但没有用:

$first = reset($result);
$last = end($result);

另外,在 sql 查询中,我选择 string1、string2 和 integer1

我想按 integer1 排序,然后打印出第一个和最后一个(两个字符串)

 First   echo $string 1. " " . /4string2;
 Last   echo $string 1. " " . /4string2;

【问题讨论】:

  • var_dump($result); 输出什么?
  • 您需要一个字段的 MIN 和 MAX 值还是整行数据?
  • 我需要一个字段的 MIN 和 MAX,但也想输出获得最小值和最大值的名称(这是一个不同的字段)。
  • var dump 返回“resource(5) of type (mysql result)”

标签: php mysql arrays max min


【解决方案1】:

假设您想要 SQL 中某个字段的最小值和最大值。

不要从表中获取所有行并在 PHP 中获取第一行和最后一行,而是在 SQL 中执行!

SELECT MIN(your_field), MAX(your_field) FROM your_table WHERE conditions GROUP BY field1,field2

【讨论】:

  • 我已经编辑了我的问题,我可以用它来选择字符串吗?
【解决方案2】:

array_shift 给你第一行,array_pop 给你最后一行

$first = array_shift($rows) ;
$last = array_pop($rows) ;

【讨论】:

  • 我已经编辑了我的问题,然后尝试将您的答案调整为: $first = array_shift($result['string1']) ;但仍然无法正常工作
  • 你能显示更多的代码吗?你的结果包含什么,它来自哪里?也许你应该看看 $first_row = array_shift($rows) ; $first_string = $first_row['string1'] ;但没有结果内容很难说。
  • 结果将包含以下几次,但是我只想要具有最高和最低整数的记录,并打印它们的两个字符串。 --------------------- string1,string2,integer ---------------------- 这样做帮忙?
【解决方案3】:
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-23
  • 2018-08-12
  • 2021-03-07
  • 2019-03-09
  • 2016-12-12
相关资源
最近更新 更多