mysql查询和排序依据
我有一个表a,其结构如下:mysql查询和排序依据,mysql,distinct,Mysql,Distinct,我有一个表a,其结构如下: |- id_a primary key |- id_b references table_B(id_b) |- timestamp |- varchar_column 我需要做一个连接表_B的查询,它在表_a.id_B上必须是不同的,但它还必须返回其他列(不仅是不同的列);我还需要为每个不同的表_a.id_b获取时间戳最大的记录。 我确实喜欢两种方式,但它们都返回错误: SELECT DISTINCT(table_A.id_b) FROM table_A INNER
|- id_a primary key
|- id_b references table_B(id_b)
|- timestamp
|- varchar_column
我需要做一个连接表_B的查询,它在表_a.id_B上必须是不同的,但它还必须返回其他列(不仅是不同的列);我还需要为每个不同的表_a.id_b获取时间戳最大的记录。
我确实喜欢两种方式,但它们都返回错误:
SELECT DISTINCT(table_A.id_b) FROM table_A INNER JOIN table_B on table_A.id_b = table_B.id_b ORDER BY table_A.timestamp DESC
还有这个:
SELECT * FROM table_A INNER JOIN table_B on table_A.id_b = table_B.id_b ORDER BY table_A.timestamp DESC GROUP BY table_A.id_b
您可以对id_b和max(timestamp)使用表_a上的内部联接,并联接其余的表
select *
from table_A a
Inner join (
select id_b, max(timestamp) my_time
from table_A
group by id_b
) t on t.id_b = a.id_b and t.my_time = a.timestamp
inner join table_B on a.id_b = table_B.id_b
ORDER BY a.timestamp DESC
谢谢你的回复。使用您的查询,我得到以下错误:#1054-更新了on子句中的未知列“table_A.id_b”。。在第二个内部联接中使用a而不是表a