|
|
|
Получить разницу в значениях столбцов.Незнаю куда копать!
|
|||
|---|---|---|---|
|
#18+
Выполняю запрос: SELECT A.user_name, B.user_id, C.department_name, DATE_FORMAT(event_date, '%Y%m%d') as event_d, min(B.event_date) as m1, max(B.event_date) as m2 FROM `users` A, `event_log` B, `departments` C WHERE (A.user_id = B.user_id AND B.event_code = 1) GROUP BY A.user_id, event_d ORDER BY A.user_id получаю: User_name, user_id, departament_name, event_d, m1, m2 поля m1, m2 это дата+время. ВОПРОС!!! КАк получить поле m3 со значением разницы полей m2 и m1 тоесть если в м2=22.04.2005 12:00:00, а м1= 22.04.2005 10:50:00 то м3 должно быть равно 1:10. Как на MySQL получить данный результат? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.05.2005, 00:41 |
|
||
|
Получить разницу в значениях столбцов.Незнаю куда копать!
|
|||
|---|---|---|---|
|
#18+
Воспользоваться ф-ей DATEDIFF(expr,expr2) DATEDIFF() returns the number of days between the start date expr and the end date expr2. expr and expr2 are date or date-and-time expressions. Only the date parts of the values are used in the calculation. mysql> SELECT DATEDIFF('1997-12-31 23:59:59','1997-12-30'); -> 1 mysql> SELECT DATEDIFF('1997-11-30 23:59:59','1997-12-31'); -> -31 DATEDIFF() was added in MySQL 4.1.1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.05.2005, 01:26 |
|
||
|
Получить разницу в значениях столбцов.Незнаю куда копать!
|
|||
|---|---|---|---|
|
#18+
А еще можно from_unixtime((unix_timestamp(dateFld1) - unix_timestamp(dateFld2))) as date_diff ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.05.2005, 01:27 |
|
||
|
Получить разницу в значениях столбцов.Незнаю куда копать!
|
|||
|---|---|---|---|
|
#18+
а можно подробней и применительно к моему случаю? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.05.2005, 15:24 |
|
||
|
Получить разницу в значениях столбцов.Незнаю куда копать!
|
|||
|---|---|---|---|
|
#18+
SELECT A.user_name, B.user_id, C.department_name, FROM_UNIXTIME( (UNIX_TIMESTAMP(min(B.event_date))-UNIX_TIMESTAMP(max(B.event_date)))) as d1, DATE_FORMAT(event_date, '%Y.%m.%d') as event_d, min(B.event_date) as m1, max(B.event_date) as m2 FROM `users` A, `event_log` B, `departments` C WHERE (A.user_id = B.user_id AND B.event_code = 1) GROUP BY A.user_id, event_d ORDER BY A.user_id в ответ на запрос, в столбце 'd1' появляются непонятные бессвязные данные, а не разница во времени. Как решить проблему? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.05.2005, 23:15 |
|
||
|
|

start [/forum/topic.php?fid=47&msg=33049340&tid=1854080]: |
0ms |
get settings: |
10ms |
get forum list: |
10ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
179ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
48ms |
get tp. blocked users: |
1ms |
| others: | 248ms |
| total: | 514ms |

| 0 / 0 |
