我有存储车企与像一个结构的最后N条记录:MySQL的 - 选择基于列
+-----------------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-----------------+--------------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| model | varchar(255) | YES | | NULL | |
| make | varchar(255) | YES | | NULL | |
| year | varchar(255) | YES | | NULL | |
| avg_price | decimal(8,2) | YES | | NULL | |
| median_price | decimal(8,2) | YES | | NULL | |
| created_at | datetime | YES | | NULL | |
| updated_at | datetime | YES | | NULL | |
+-----------------+--------------+------+-----+---------+----------------+
的数据,某一年可能会在不同的时间插入。
For example model 'Honda', make 'Accord' might have results like:
+------+-----------+--------------+--------+---------------------+
| year | avg_price | median_price | model | created_at |
+------+-----------+--------------+--------+---------------------+
| 1992 | 2431.29 | 2000.00 | accord | 2012-02-23 17:31:41 |
| 1993 | 2609.13 | 2195.00 | accord | 2012-02-23 17:31:44 |
| 1994 | 2858.81 | 2400.00 | accord | 2012-02-23 17:31:44 |
| 2000 | 4771.99 | 4450.00 | accord | 2012-02-23 17:31:46 |
| 2001 | 5260.16 | 5000.00 | accord | 2012-02-23 17:31:46 |
| 2000 | 4860.19 | 4795.00 | accord | 2012-08-15 06:09:52 |
| 2001 | 5071.49 | 4990.00 | accord | 2012-08-15 06:09:52 |
| 2002 | 5872.80 | 5795.00 | accord | 2012-08-15 06:09:52 |
| 2003 | 7521.44 | 7950.00 | accord | 2012-08-15 06:09:52 |
| 2004 | 8348.19 | 8495.00 | accord | 2012-08-15 06:09:52 |
我想检索所有本田雅阁数据,这是汽车制造当年最新的。
所以在上面的例子中,我想从2012-08-15 06:09:52检索数据多年的2000,2001,2002,2003,2004 ,但较大的年份将从2012年 - 02-23 17时31分41秒
select year,avg_price,median_price,model,created_at
from car_prices
where make='honda' and model= 'accord' group by year asc
上面的查询得到插入每一年每一年不同的数据,但不是最后一个记录。
任何想法如何获得每年以及最新的独特数据?
不,那是行不通的。即使在我更正了您通过切换组输入的sql后修改了 – truthSeekr
修改。请尝试。你可以尝试子查询。 – sel
整洁。很棒。非常感谢你 – truthSeekr