Ускоренный запрос при выборе уникальных данных из дублирующих данных - PullRequest
0 голосов
/ 30 сентября 2019

У меня есть таблица с именем посещаемость со структурой этого:

att_id               employee_id               time               status
  1                  101-000001         2019-09-09 08:00:00         1
  2                  101-000001         2019-09-09 17:00:00         2
  3                  101-000001         2019-09-10 08:00:00         1
  4                  101-000001         2019-09-10 08:00:01         1
  5                  101-000001         2019-09-10 17:00:00         2
  6                  101-000001         2019-09-10 17:00:00         2

Теперь я хочу получить только уникальные значения с условием, где employee_id = 000001. Выходные данные, которые я хочу, это:

att_id               employee_id               time               status
      1                  101-000001         2019-09-09 08:00:00         1
      2                  101-000001         2019-09-09 17:00:00         2
      3                  101-000001         2019-09-10 08:00:00         1
      5                  101-000001         2019-09-10 17:00:00         2

Вот что я сделал, но возвращает дубликаты данных. :

SELECT * FROM attendance WHERE employee_id = "101-000001" AND att_id IN
(SELECT MIN(att_id) FROM tbl_attendance GROUP BY time)

Может ли кто-нибудь предложить мне более оптимизированное решение?

1 Ответ

0 голосов
/ 30 сентября 2019
  SELECT * 
    FROM attendance 
   WHERE employee_id = "101-000001" 
GROUP BY employee_id,SUBSTRING(time,1,10),status
...