当前位置: 首页 > 面试题库 >

SQL查询输出的反向顺序

姜永贞
2023-03-14
问题内容

我有一个我无法解决的问题。我正在使用PHP通过数据库运行以下命令:

$strQuery = "select * from LastResult ORDER BY Date DESC LIMIT 10";

结果全部恢复正常,并且符合预期,但是我必须将其输入折线图中,但是当我这样做时,它们显然会反向显示,因为我有数据库按日期在DESC中返回它们,这意味着最新的将是第一个返回。

有没有一种方法可以在返回这些结果之后在将数据输入到图表之前反转它们的顺序。

这是完整的查询(请不要对使用mysql而不是mysqli进行评论,我没有写这个位)

$strQuery = "select * from LastResult ORDER BY Date DESC LIMIT 10";

$result3 = mysql_query($strQuery) or die(mysql_error());

if ($result3) {
    while($ors4 = mysql_fetch_array($result3)) {
        $NumberResults2 = $ors4['Date'];

        $strQuery = "select AvGoalDifference as Average from LastResult where Date= '$NumberResults2'";

        $result4 = mysql_query($strQuery) or die(mysql_error()); 
        $ors3 = mysql_fetch_array($result4);

        $strXML .= "<set label='" . $NumberResults2 . "' value='" . $ors3['Average'] . "' />";

        mysql_free_result($result4);
    }
}

mysql_close($link);

$strXML .= "</chart>";
$chart2 = renderChart("charts/Line.swf", "", $strXML, "AverageGD", 500, 260, false, true, true);

echo $chart2;

问题答案:

您可以通过执行外部选择并按需要的方式对其排序,以对结果集进行重新排序(ASC):

SELECT * FROM (
    select * from LastResult ORDER BY Date DESC LIMIT 10
) as
ORDER BY Date ASC;

编辑 :如果失败(如在PostgreSQL 9.3.4中那样),请对内部 选择 使用别名,使其如下所示:

SELECT * FROM (
    select * from LastResult ORDER BY Date DESC LIMIT 10
) as foo
ORDER BY foo.Date ASC;


 类似资料:
  • 问题内容: 假设我将与关联的表存储如下(代表事件的时间戳): 这样我们可以说: 用户1具有ADBCB的事件序列 用户2具有事件序列BBAAC 我想针对这些用户回答的问题类型非常容易表达为事件序列的常规表达式,例如“哪些用户的事件序列与A. * B匹配?” 或“哪些用户的事件序列与A [^ C] * B [^ C] * D匹配?” 等等。 在此表结构上可以用来回答类似查询的SQL技巧或运算符是什么?

  • 问题内容: 我是bash脚本的新手。我想将sql-query输出保存在变量中,但是 实际上,我必须使用以下命令为每个查询连接到mysql: 并希望将每个输出保存在单独的变量中 示例查询是: 到 谢谢你 问题答案: 从bash脚本中获取-从数据库中选择到变量中,您可以将查询结果读取到一个变量中。 例子 用法 是用于输出的bash命令。然后可以将其拆分为单独的变量: 您可以将这两个命令组合成一个命令:

  • 问题内容: 我想在使用desc后反转sql server中结果的顺序。例如: 返回结果: 但是然后我想翻转结果,使其看起来像这样: 我试过了 但这没用,有什么建议吗? 问题答案: 只要您为子查询加上别名,它就应该起作用。

  • 我有三个表,分别名为device_table、playlist_table和device_playlist_assoc device_playlist_assoc表用于将设备与播放列表相关联。 device_table playlist_table Device_PlayList_Assoc 所以,我想要的是那些没有播放列表的设备。我只从前端获得playlist_id作为参数。所以我想要一个sql

  • 问题内容: 有没有办法只显示查询的前N行输出? 奖励积分,如果在输出行后查询停止运行。 我最感兴趣的是找到一种适用于的东西。 问题答案: 如果您指定要定位的数据库,将很有帮助。不同的数据库具有不同的语法和技术来实现此目的: 例如,在Oracle中,您可以通过设置条件来实现这一点(->将导致输出前10条记录) 在可以使用时可以使用use子句。 Microsoft SQL Server = > Pos

  • 在SQL Server中,我有两个来自两个表的查询。 第一个表“Values1”有两列:“index1”和“value1”。第二个表“Values2”有“index2”和“value2”列。 我想要一个查询,对于一对索引值“d1”和“d2”,可以输出所有“index1”和“value e1”行,其中对应的index1在“d1”和“d2”之间,以及“Values2”表中具有“index2”值在“d1