【问题标题】:sql get orderedsql 获取命令
【发布时间】:2017-12-29 02:25:25
【问题描述】:

很容易解释我想要执行的操作:

我有一个 SQL 大型数据库,它每小时存储一个不同的值。

ID = 代表记录号,自增。 data = 存储的数据。

我在这里得到最后 10 个值:

"SELECT * FROM myDB order by ID desc LIMIT 10"

接下来,我使用数据创建一个数组。

$dataArray = array(); // make a new array to hold all your data
$index = 0;
while ($row = mysqli_fetch_assoc($result)) 
    {
    $dataArray[$index]=$row["profit"];
    $index++;
    }

最后,显示数组:

$index = 0;
foreach ($dataArray as $key => $val) {
   echo $index." - ".$val."<br>";
   $index++;
}

我知道了:

0 - 0.37 1 - 0.31 2 - 0.31 3 - 0.31 4 - 0.1 5 - 0.1 6 - 0.1 7 - 0.1 8 - 0.1 9 - 0.1

但是.. 0.37 是存储在数据库中的最后一个值,我需要它作为数组中的最后一个值。所以,当我分配索引并减少索引变量时,我尝试从 9 开始:

$dataArray = array(); // make a new array to hold all your data
$index = 9;
while ($row = mysqli_fetch_assoc($result)) 
    {
    $dataArray[$index]=$row["profit"];
    $index--;
    }

$index = 0;
foreach ($dataArray as $key => $val) {
   echo $index." - ".$val."<br>";
   $index++;
}   

但我得到了相同的结果。如何获取数据库的最后 10 个值,并将其放入数组中,其中数组的最后一个值是数据库的最后一个值?

【问题讨论】:

  • 第二个循环从 9 开始
  • $dataArray = array_reverse($dataArray);foreach 之前会做
  • 完美运行。非常感谢。

标签: php sql arrays


【解决方案1】:

在查询本身中再次将其排序为 asc

SELECT * FROM (
SELECT * FROM myDB order by ID desc LIMIT 10) order by ID

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-02-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-07
    • 1970-01-01
    相关资源
    最近更新 更多