我正在嘗試從表格中選擇最大可用年份,并根據最大年份顯示 10 年前的結果。
理想情況下,像這樣
---- ------------ ------------
| id | year | data |
---- ------------ ------------
| 1 | 2008 | 12453 |
| 2 | 2019 | 12453 |
| 3 | 2005 | 12453 |
| 4 | 2000 | 12453 |
| 5 | 2018 | 12453 |
| 6 | 2020 | 12453 |
| 7 | 2021 | 12453 |
---- ------------ ------------
- 找出最大年份 - 在這種情況下,
2021 - 選擇和之間
2021的所有內容2011(包括開始和結束年份)
在這種情況下,結果應該是
---- ------------ ------------
| id | year | data |
---- ------------ ------------
| 2 | 2019 | 12453 |
| 5 | 2018 | 12453 |
| 6 | 2020 | 12453 |
| 7 | 2021 | 12453 |
---- ------------ ------------
到目前為止我所擁有的是這個
SELECT MAX(year) as last_year, MIN(year) as first_year
FROM data_table t1
INNER JOIN administrator t2 ON t1.id=t2.id
WHERE dates IS NOT NULL
between t1.last_year - 10
GROUP BY t2.id
錯誤
#1064 - 您的 SQL 語法有錯誤;查看與您的 MariaDB 服務器版本相對應的手冊,了解在 'between t1.last_year - 10 之間使用的正確語法
uj5u.com熱心網友回復:
從您提供的資料樣本中,這
select * from table_name
where year >= (select max(year) from table_name) - 10
應該回傳預期的輸出。
小提琴
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/427349.html
標籤:mysql
