2017-01-20 5 views
-1

9Простой запрос, чтобы найти идентификатор сотрудника, дату и minimum_time и maximum_time заказ по идентификатору, дата, время

Как я могу найти идентификатор сотрудника, дату и minimum_time и порядок maximum_time по идентификатору, дата, время от этого Таблица?

+1

Пожалуйста, покажите свой ожидаемый результат. –

+0

id date in_time out_time 120721396 2014-01-18 08:24:43 17:13:20 – Humayun

+1

Что вы еще пробовали? Пожалуйста, помните, что ** SO не является кодировкой **, мы не будем писать для вас код. – roberto06

ответ

1
SELECT emp_id, 
     date, 
     MIN(time) AS in_time, 
     MAX(time) AS out_time 
FROM yourTable 
GROUP BY emp_id, 
     date 
ORDER BY emp_id, date 

В MIN() и MAX() функции найти самое раннее и позднее время каждого сотрудника, на каждую дату.

0

Это просто ваш синтаксис запроса будет как

SELECT atr1, atr2,.. FROM table_name ORDER BY atr1, atr2,.. 
0

Вы можете просто использовать запрос на выборку

SELECT employee.id, employee.date, employee.minimum_time, employee.maximum_time From table_name ORDER BY employee.id

0

Try:

SELECT `emp_id` , `date` , MIN( `time`) as in_time , MAX( `time`) as out_time 
FROM `Table` 
WHERE 1 
GROUP BY `date` 
ORDER BY `time` DESC 
LIMIT 0 , 30 

Как я могу видеть, что есть тот же emp_id для многих дат, поэтому группа по дате получит все данные для каждой даты.