我有两张table, businesses
以及 items
. 我正试图获得最近9项业务与最新的项目更新的基础上 updated_at
中的列 items
table。
我相信这给了我最后9个我需要的商业id:
SELECT distinct business_id
FROM items
ORDER BY items.updated_at desc limit 9
所以我把它作为一个连接,并在selection中添加了另一列,它返回不同的结果。
SELECT b.*, i.updated_at as last_updated, i.business_id as business_id
FROM businesses AS b
INNER JOIN
(SELECT business_id, updated_at
FROM items
ORDER BY updated_at DESC
LIMIT 9) AS i
ON b.id = i.business_id
我真的需要 updated_at
列自 items
所以我知道实际日期。但是一旦我将它添加到带有distinct的select语句中,它将返回完全不同的结果,因为我假设该行不再是distinct的,因为id+updated\u会使每一行都是唯一的。
按请求添加sql架构:http://sqlfiddle.com/#!9/b44295号
如果我们做一个 limit 3
在对上述数据的查询中,它应该返回:
---------------------------------------
| business_name | updated_at |
---------------------------------------
| Business Two | 2018-01-22 23:38:05 |
---------------------------------------
| Business One | 2018-01-02 23:38:05 |
---------------------------------------
| Business Five | 2018-01-01 23:39:51 |
---------------------------------------
暂无答案!
目前还没有任何答案,快来回答吧!