2016-01-27 2 views
0

enter image description hereПродолжительность между типом и выходить в MYSQL

Я новый MYSQL теперь я попробовать что-то здесь мой запрос не точный результат

SELECT SEC_TO_TIME(SUM(TIME_TO_SEC(time))) FROM `officialbreaks` where type='out' 

SELECT SEC_TO_TIME(SUM(TIME_TO_SEC(time))) FROM `officialbreaks` where type='in' 

Любой дружище есть работа по этому типу ситуация.

OUT ТРЕБУЕТСЯ

TIMEDIFF(time where type=in, time where type=out) 
3:35:30 time type=in, 03:35:30 time type=out 
Output 0 
+0

присоединиться к использованию на 'userid' не' date' –

+0

Кажется, что база данных плохо нормализована. И 'официальныйtimin', и' officialtimeout' должны находиться в одной таблице. –

+0

Rajesh kumar извините за последний запрос неверный запрос i обновить мой вопрос, пожалуйста, просмотрите – Irfan

ответ

0

Вы можете попробовать согласно

цен ниже
SELECT DISTINCT a.userid, (TIME_TO_SEC(b.time) - TIME_TO_SEC(a.time)) AS 'time_diffrence' FROM 
(SELECT userid,`time` FROM mytable WHERE `type`='in') a 
JOIN (SELECT userid,`time` FROM mytable WHERE `type`='out') b ON a.userid=b.userid 

Это простое решение, но может быть несколько из раза против одного во время и multile пользователей и т.д., так что может быть так много сочетаний, когда запрос необходимо изменить.

+0

Спасибо за ваш ответВыберите ошибку # 1052 - Столбец 'userid' в списке полей неоднозначен И что это за b.time и .время? – Irfan

+0

http://prntscr.com/9ve11w Повторяющееся время посмотреть это изображение – Irfan

+0

попробуйте сейчас ......... –