关于加入的MySql排序?

时间:2016-06-28 16:06:08

标签: mysql

我有两张表jobs, notes

我想输出status='lost'的作业列表以及该作业的最新备注(基于创建备注的日期)。

这是我的疑问:

select jobs.id, jobs.name, jobs.status
inner join notes on jobs.id=notes.jobId
where jobs.status='lost'
group by jobs.id
order by notes.createDate DESC

我原以为输出会显示给定作业的最新音符。但它显示了该工作的第一个注释。我已经改变了从DESC到ASC的排序,看看会发生什么......输出是一样的。

然后我尝试在主选择中嵌入一个选择注释并挂起。

这应该很简单,我确信它是......我错过了什么?

2 个答案:

答案 0 :(得分:0)

有很多选项可以解决这个问题,但您可以使用子查询。

from random import randint
import string
import random

print(randint(1,30)) # generates random number from 1 to 30

答案 1 :(得分:0)

当我在一艘类似的船上时,我已经在加入时使用子查询:

select jobs.id, jobs.name, jobs.status
from jobs
inner join notes on jobs.id = notes.jobId
   and notes.createDate = (select max(notes.createDate)
                          from notes
                          where jobs.id = notes.createDate
                          group by notes.jobId)
where jobs.status='lost'
group by jobs.id
order by notes.createDate DESC