为每个出现的MySQL设置运行计数

时间:2017-08-18 16:14:50

标签: mysql sql database

Jack             8:00 am May 10th
Jack            10:00 am May 10th
Jack             1:00 pm May 10th
Bill             7:00 am May 10th
Bill            11:00 am May 10th
Diane            1:10 pm May 10th

说我有这个,有什么方法可以为每次出现设置一个计数。因为杰克在上午8点是1,在上午10点是第2次,在下午1点是3。比尔同样,第一次出现的时间是早上7点1点,上午11点点亮2点。

所以我可以写一个case语句,如果xxx = odd然后clock in if if xxx = even then out out或者即使xxx = 1 clock in,xxx = 2 out,xxx = 3 in ect,直到5,因为我们会在1天内永远不会有5个时钟输入和输出。

我们所有的时间拳都是直接显示,没有进出,我们在一两个月内解决这个问题,但现在我想至少分配这些内容,并且大多数人按照时钟输出格式关注​​时钟。如果有人忘记了,那么它会由经理更新。

在此表中有一些联接和联合,这是最好的选择吗?或者有更简单的方法吗?这只是一个示例代码。

SELECT  Lastname
       ,Firstname
        , Rownumber
  FROM
     (
      SELECT  @row_num := IF(@prev_value=SA.lastname,@row_num+1,1) AS RowNumber
             ,SA.Lastname
             ,SA.Firstname
             ,@prev_value := SA.lastname
        FROM SubAdmins SA,
             (SELECT @row_num := 1) x,
             (SELECT @prev_value := '') y
       ORDER BY SA.lastname DESC) AS Subquery

0 个答案:

没有答案