Mysql 消除重复记录的子查询
两个表中都将有多条记录具有相同的emp id 我需要询问一下Mysql 消除重复记录的子查询,mysql,Mysql,两个表中都将有多条记录具有相同的emp id 我需要询问一下 加入条件app.employee\u id=fac.empid app.begindate,app,enddate,app.percent 最大(金额),但我仍然有机会重复记录,因为对于一名员工,金额可以相同,所以我需要最大金额记录的不同部分 但我下面的查询将首先获得max记录,然后查询begindate、end date和percent 我想按照上面指定的顺序进行查询 SELECT app.amt, fac.email, fac.e
SELECT app.amt, fac.email, fac.employee_id, fac.empid,
fac.first_name, fac.last_name, fac.department_id, fac.titlecode,
app.begindate, app.enddate, app.percent,
app.title_name, app.department_name
FROM appointment app
LEFT JOIN appointment app2 -- self-join to locate max
ON app.employee_id = app2.employee_id AND app.amt < app2.amt -- of app.amt
INNER JOIN faculty fac ON app.employee_id=fac.empid -- join to fac
WHERE app2.amt IS NULL -- isolate rows with max(app.amt)
AND app.begindate <= NOW()
AND app.enddate >= NOW()
AND app.percent>.50 group by empid
选择app.amt、fac.email、fac.employee\u id、fac.empid、,
工厂名,工厂姓,工厂部门id,工厂标题代码,
app.begindate、app.enddate、app.percent、,
app.title\u name,app.department\u name
从约会应用程序
左加入约会app2--自加入以查找最大值
在app.employee_id=app2.employee_id和app.amt0.50按empid分组
约会表的employeeid和employee_id是不同的列还是仅仅是一个输入错误?对于行中最大金额不满足日期或百分比要求的员工,您的查询似乎不会返回任何内容,这是预期的吗?你能用一些示例数据写更多关于你想要实现什么的信息吗?我上面的查询将根据最大金额、联接条件、begindate、enddate和百分比获取员工的唯一记录。但我需要查询上面指定的顺序,就像首先使用id联接两个表,而不是根据条件begindate排序一样,结束日期和百分比,然后是最大金额记录。后续操作可能提供更多上下文