【发布时间】:2011-02-06 14:56:48
【问题描述】:
如何使用 SQL 按最早的顺序排列结果?我使用的是 unix 时间戳。
谢谢。
【问题讨论】:
-
2038 年再见,问为什么你的数据库中有负时间戳。哈哈。
-
我的 unix 时间戳有无符号整数。我做错什么了吗?
标签: sql mysql unix-timestamp
如何使用 SQL 按最早的顺序排列结果?我使用的是 unix 时间戳。
谢谢。
【问题讨论】:
标签: sql mysql unix-timestamp
最早的 UNIX 时间戳是最小的,所以你想ORDER BY my_timestamp_column ASC。
我不知道为什么到目前为止的两个答案都说按DESC 列排序。
【讨论】:
DESC...也许是因为现在是凌晨 3 点,但是... ;)
Unix 时间或 POSIX 时间是用于描述时间点的系统,定义为自 1970 年 1 月 1 日午夜预言协调世界时 (UTC) 以来经过的秒数,不包括闰秒
ORDER BY 子句可以使用 ASC 或 DESC,如果你不指定它会默认使用 ASC:
最近的时间戳优先:
SELECT * FROM tableName ORDER BY columnName DESC
最近的时间戳优先:
SELECT * FROM tableName ORDER BY columnName ASC
【讨论】:
DESC而不是ASC?
您在使用ORDER BY 'unix-time-stamp-field' ASC; 时遇到什么问题?
编辑:jemfinch 是对的,它是ASC。
【讨论】:
为了在使用unix_timetamp 时获取最早的第一条数据,请运行以下查询:
Select * FROM tablename order by FROM_UNIXTIME(ts) ASC
这里:
ts 响应具有unix_timestamp 的表的列。
【讨论】:
使用带有DESC 修饰符的ORDER BY 子句来反转结果:
SELECT ... FROM ... ORDER BY timestampCol DESC;
当然你应该使用ASC(或者不使用,因为ASC是默认的)... ;)
【讨论】: