这是我的table
| Date | Value |
|---------|-------|
| 2020-01 | 598 |
| 2020-01 | 659 |
| 2020-01 | 1005 |
| 2020-03 | 478 |
| 2020-06 | 500 |
| 2020-06 | 898 |
| 2020-06 | 258 |
| 2020-06 | 654 |
| 2020-06 | 459 |
| 2020-03 | 656 |
| 2020-02 | 897 |
| 2020-02 | 1547 |
| 2020-05 | 2028 |
我要问的问题是“利用最近一个月的可用数据,估计全国房屋价值的范围是多少?”
因为我的table很小,我知道最近的日期是2020-06年。
所以我写了这个代码:
SELECT date, value
FROM home
WHERE date = '2020-06';
我得到的结果是:
| Date | Value |
|---------|-------|
| 2020-06 | 500 |
| 2020-06 | 898 |
| 2020-06 | 258 |
| 2020-06 | 654 |
| 2020-06 | 459 |
我编写的另一种代码方法是:
SELECT date, value
FROM home
Order by date DESC
LIMIT 5;
我得到了和上面相同的结果。但是如果我有大量的数据,这两个代码都不可行。所以我的问题是,我怎样才能得到最新的数据而不用手动输入具体的数据呢?
sql小提琴在这里
2条答案
按热度按时间gk7wooem1#
可以使用子查询:
9rnv2umw2#
与
RANK()
窗口功能:请看演示。
或与
NOT EXISTS
:请看演示。
结果: