如何限制每个用户ID一行

时间:2017-04-03 17:55:30

标签: mysql left-join inner-join groupwise-maximum

我有一张名为employeetimesheets的表:

empsheet_id|employee_id|timesheet_status|last_update

该表允许经理访问所有员工时间表。一名员工可以有几张时间表。我想仅显示 每位员工的最新条目。我看过in the manual我必须写一个分组最大子查询,left joininner join,但我不确定如何在这里进行。

到目前为止,这是我的查询:

$sqlempsheets="SELECT * FROM employeetimesheets JOIN employees ON employeetimesheets.employee_id=employees.employee_id WHERE employeetimesheets.timesheet_status='Pending Approval'";
$resultempsheets=mysqli_query($db,$sqlempsheets);

1 个答案:

答案 0 :(得分:2)

试试这个:

import Tkinter as Tkinter

class gameScreen:
    def moveup(self, event):
        self.canvas.move(self.char, -100, 0)
        self.canvas.focus(self.char)
        self.canvas.update()

    def __init__(self, master):

        self.master = master
        master.title("Game")

        master.resizable(width=False, height=False)
        self.img = tkinter.PhotoImage(file = "platformer.gif")
        self.canvas = tkinter.Canvas(master, width=self.img.width(),
                                             height=self.img.height())

        self.canvas.pack(expand="YES",fill="both")

        self.canvas.create_image(0, 0,anchor="nw", image = self.img)
        self.char = tkinter.PhotoImage(file = "hero.gif")
        self.canvas.create_oval(0, 0, 50, 50, fill="red")
        self.x = 0
        self.y = 0
        master.bind("<Up>", self.moveup)        

root = tkinter.Tk()
my_gui = gameScreen(root)
root.mainloop()`

或使用select * from employeetimesheets t join ( select employee_id, max(empsheet_id) as empsheet_id from employeetimesheets group by employee_id ) t2 on t.employee_id = t2.employee_id and t.empsheet_id = t2.empsheet_id join employees e on t.employee_id = e.employee_id where t.timesheet_status = 'Pending Approval';

left join