gpt4 book ai didi

mysql - 如何在mysql中对unix时间戳进行排序

转载 作者:行者123 更新时间:2023-11-29 21:51:52 25 4
gpt4 key购买 nike

我正在尝试使用以下查询检索一些数据。我需要在下面的查询“request_meta”中再添加一个表,并且必须使用其列“meta-value”进行排序,该列的数据包括文本和 unix 时间戳。

我需要按照“元值”列中时间戳的时间顺序获取这些结果。谁能帮帮我吗?

 SELECT rt.taxonomy_id,rt.iteration,ra.*,
FROM request_taxonomy rt
inner join request_aspects ra ON ra.aspect_id = rt.request_aspects_id
WHERE rt.requests_id = 17;

request_meta table structure as follows:
----------------------------------------
meta_id - Pri
requests_id - bigint
request_taxonomy_id - bigint
meta-value - varchar

request_meta 表中的示例数据。第三行是存储的日期。其他表的数据需要按照日期升序排序。

requests_id meta_value request_taxonomy_id
17 8 925
17 Customer Cluster 926
17 1446792318 966
17 1446103569 967

最佳答案

如果我猜对了,您必须过滤其中 meta_value 实际上是时间戳而不是其他内容的行。

所以你应该检查它是否是数字。这里解释了如何做到这一点:Detect if value is number in MySQL

然后,您可以通过设置最小字符串长度来过滤误报,以忽略 meta_value 列中的 8 等值。

因此,只需引用可能如下所示的meta_value:

SELECT *
FROM mytable
WHERE concat('',meta_value* 1) = meta_value AND LENGTH(meta_value)>=10
ORDER BY meta_value;

如果您有较旧的时间戳需要管理,您可能需要更改字符串长度条件。

但我怀疑这是否是解决您问题的有效方法。为了正确解决这个问题,您应该考虑以将时间戳存储为数值的方式更改数据库结构。

关于mysql - 如何在mysql中对unix时间戳进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33561777/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com