首頁 >資料庫 >mysql教程 >如何使用 MySQL CASE 語句從兩個欄位中依較早的時間戳排序?

如何使用 MySQL CASE 語句從兩個欄位中依較早的時間戳排序?

Barbara Streisand
Barbara Streisand原創
2024-11-10 15:13:02427瀏覽

How to Order by the Earlier Timestamp from Two Columns Using MySQL CASE Statement?

MYSQL ORDER BY CASE 問題

在MySQL 中,在ORDER BY 子句中使用CASE 語句可讓您根據下列條件指定多個排序條件特殊條件。然而,當嘗試對兩個不同的時間戳列進行排序時,就好像它們是單一統一的時間戳記一樣,會出現挑戰。

考慮提供的表結構:

目標是將行排序以較早的時間戳,無論它是儲存在 timestamp_one 還是 timestamp_two 列中。以下查詢嘗試使用 CASE 語句來實現此目的:

雖然此查詢成功地對 id_one=27 的行進行正確排序,但它無法將時間戳合併為單一排序標準。

要解決此問題,可以如下修改查詢:

透過對每個條件使用單一CASE 表達式而不是單獨的CASE 語句,MySQL 將時間戳合併為單一排序標準。這可確保行按需要正確排序:

以上是如何使用 MySQL CASE 語句從兩個欄位中依較早的時間戳排序?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn