【问题标题】:Sort MySQL table by timestamp按时间戳对 MySQL 表进行排序
【发布时间】:2012-06-27 04:42:12
【问题描述】:

我运行了一个数据采集板,我生成了一个 php 代码,每 15 分钟提取一次数据,然后将其插入到表格中。

这很好用。但是,如果由于某种原因连接丢失或缺少某些值,我想生成一个恢复功能,所以我想知道如何向董事会索要一些值,但我需要弄清楚如何发布恢复的数据和然后按时间戳对整个表进行排序。

为此,我想使用 php,并放置此代码

$result = mysql_query("SELECT * FROM `table` ORDER BY `date` DESC;" );

但这不会造成任何影响。我需要对表格而不是结果进行排序。

有什么简单的方法吗?

编辑

使用时间戳提取数据,现在我的表具有以下结构:

id  |  TimeStamp  |  Temperature
  • 我的idINT NOT NULL AUTO_INCREMENT PRIMARY KEY
  • timestamp
  • temperaturevarchar(15)

php函数获取adquicition board的最后一个值,插入到最后一个id上。我只是放置时间戳来制作数据的历史记录。但我希望表按此字段排序,以防恢复。为了进行恢复,对板的调用函数与连续模式完全不同。这就是为什么我使用顺序插入,如果在丢失数据恢复完成后我可以使用时间戳对整个表进行排序,我会徘徊。

【问题讨论】:

  • 排序表/排序结果?相同的区别...和 ​​PDO 的 +1
  • 停止使用mysql。去阅读有关 mysqli 和/或 PDO 的信息
  • @user1378680,这对表格排序有何帮助?
  • @Wh1t3h4ck5 .. 不仅仅是排序。

标签: php mysql sorting timestamp


【解决方案1】:

根据我对问题的阅读,这与希望表中的数据根据​​时间戳插入而不是按顺序插入有关。

也许如果作者能够阐明这种需求是如何产生的,那么 SO 社区可能会提供更多帮助。

【讨论】:

    【解决方案2】:

    我知道这不是您想听到的答案,但是 - 不幸的是 - 这是真的:没有“表的顺序”之类的东西 - 表是一组行,而不是行的序列。这就是为什么您只能对结果进行排序,而不能对表本身进行排序(操作将毫无意义)。

    你需要做的是重新思考你的设计,花一些时间阅读一本关于数据库的好书,并摆脱一些错误的假设。

    如果您想要实现的是“确保根据时间戳对主键进行排序”,那么-您不应该这样做,有一些方法,但它们都是疯狂的。最简单的(可能)是使用 select into 将所有行转储到其他表中,然后从原始表中删除它们并再次插入。无论如何:不要尝试这个。您不需要订购餐桌。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-01-20
      • 2018-10-19
      • 1970-01-01
      • 2020-01-01
      • 2019-02-08
      • 1970-01-01
      相关资源
      最近更新 更多