請幫助我:-) 這對我來說絕對是新的,我不知道該怎么做。
我有這種結構的 MySQL 表和這些值:
| material_id (INT) | material_referenceid (INT) | material_cas (DATETIME) |
|---|---|---|
| 2 | 13 | 2021-11-01T17:19:08Z |
| 10 | 13 | 2021-11-08T17:19:28Z |
| 23 | 24 | 2021-11-04T17:41:48Z |
| 25 | 4 | 2021-11-02T17:40:51Z |
| 27 | 13 | 2021-11-01T17:19:19Z |
| 30 | 24 | 2021-10-11T17:41:31Z |
| 33 | 24 | 2021-10-11T17:41:41Z |
我需要在表中顯示 material_referenceid =(例如)13 和 date = WHOLE OLDEST DAY 值的所有行。所以從這個表中我想得到 material_id = 2, 27 的行。當這兩個洗掉時,將選擇 10。
非常感謝所有幫助我解決這個問題的人。真的很感謝你的幫助!
uj5u.com熱心網友回復:
您只需要選擇最舊的一天(在子查詢中)并將其連接回表。
選擇最早的一天:
select date(min(material_cas)) from material where material_referenceid = 13
所以,使用:
select m.material_id, m.material_cas
from (
select date(min(material_cas)) oldest_date from material where material_referenceid = 13
) oldest
join material m on m.material_reference_id=13 and date(m.material_cas)=oldest_date
假設 material_cas 存盤在 UTC 中,要根據歐洲/布拉格日期進行查看,請改為:
select m.material_id, m.material_cas
from (
select date(convert_tz(min(material_cas),' 00:00','Europe/Prague')) oldest_date from material where material_referenceid = 13
) oldest
join material m on m.material_reference_id=13 and date(convert_tz(m.material_cas,' 00:00','Europe/Prague'))=oldest_date
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/355482.html
