gpt4 book ai didi

mysql - MySQL中按多个时间戳排序

转载 作者:行者123 更新时间:2023-11-29 17:23:27 26 4
gpt4 key购买 nike

所以我有这个表我想从中选择。基本结构为:

  • 身份证
  • 时间戳1
  • 时间戳2
  • Timestamp3(将来可能会有更多时间戳)

我想根据哪个时间戳等于前端选择的日期来选择和排序时间戳。

例如:

SELECT Id FROM table WHERE DATE(Timestamp1) = 'datevariable'
OR DATE(Timestamp2) = 'datevariable' OR DATE(Timestamp3) = 'datevariable'
ORDER BY Timestamp1 (if it == 'datevariable'), Timestamp2 (if it == 'datevariable'), etc.

任何帮助将不胜感激。如果可能的话,我想将其保留在查询中,而不是在查询后执行(尽管这可能是我必须做的)。

谢谢!

最佳答案

如果您不关心多个列/时间戳匹配 WHERE 条件时的情况 - 以下查询应该有效:

SELECT Id
FROM table
WHERE DATE(Timestamp1) = 'datevariable'
OR DATE(Timestamp2) = 'datevariable'
OR DATE(Timestamp3) = 'datevariable'
ORDER BY
CASE 'datevariable'
WHEN DATE(Timestamp1) THEN Timestamp1
WHEN DATE(Timestamp2) THEN Timestamp2
WHEN DATE(Timestamp3) THEN Timestamp3
END

根据您的评论:“我很可能会让后面的时间戳取代前面的时间戳。” - 您可能想颠倒顺序

    CASE 'datevariable'
WHEN DATE(Timestamp3) THEN Timestamp3
WHEN DATE(Timestamp2) THEN Timestamp2
WHEN DATE(Timestamp1) THEN Timestamp1
END

关于mysql - MySQL中按多个时间戳排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51109551/

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