Всего запросов Access - PullRequest
       1

Всего запросов Access

0 голосов
/ 28 июня 2018

Я пытаюсь получить итоговую сумму за 24 ввода данных за определенный день. У меня есть дата, имя и значение. Да, значение генерируется каждый час. Могу ли я сделать это в запросе, и если да, какие-либо советы о том, как получить то, что я ищу.

Вот пример данных. _

TIMESTAMP   IDName  SumOf_VALUE
6/13/18 1:01 AM EFF_Flow_MGD    193479.2656
6/13/18 2:01 AM EFF_Flow_MGD    191460.9531
6/13/18 3:01 AM EFF_Flow_MGD    169738.5938
6/13/18 4:01 AM EFF_Flow_MGD    171580.0938
6/13/18 5:01 AM EFF_Flow_MGD    158367.4531
6/13/18 6:01 AM EFF_Flow_MGD    151303.2813
6/13/18 7:01 AM EFF_Flow_MGD    148457.6563
6/13/18 8:01 AM EFF_Flow_MGD    151200.3594
6/13/18 9:01 AM EFF_Flow_MGD    154745.0156
6/13/18 10:01 AM    EFF_Flow_MGD    179623.25
6/13/18 11:01 AM    EFF_Flow_MGD    193257.0938
6/13/18 12:01 PM    EFF_Flow_MGD    201511.2813
6/13/18 1:01 PM EFF_Flow_MGD    210372.8906
6/13/18 2:01 PM EFF_Flow_MGD    203826.0625
6/13/18 3:01 PM EFF_Flow_MGD    205648.4531
6/13/18 4:01 PM EFF_Flow_MGD    200690.2656
6/13/18 5:01 PM EFF_Flow_MGD    201725.4531
6/13/18 6:01 PM EFF_Flow_MGD    199851.2656
6/13/18 7:01 PM EFF_Flow_MGD    190038.3281
6/13/18 8:01 PM EFF_Flow_MGD    188712.25
6/13/18 9:01 PM EFF_Flow_MGD    197430.9531
6/13/18 10:01 PM    EFF_Flow_MGD    176996.25
6/13/18 11:01 PM    EFF_Flow_MGD    190499.0313

РЕДАКТИРОВАТЬ - добавлен SQL пробовал (из комментариев)

SELECT Sum(dbo_new_stuff1.[_VALUE]) AS SumOf_VALUE, dbo_new_stuff1.IDName, dbo_new_stuff1.[_TIMESTAMP] 
FROM dbo_new_stuff1 GROUP BY dbo_new_stuff1.IDName, dbo_new_stuff1.[_TIMESTAMP] 
HAVING (((dbo_new_stuff1.[_TIMESTAMP])>#6/12/2018 16:0:0#)) 
ORDER BY dbo_new_stuff1.[_TIMESTAMP];

1 Ответ

0 голосов
/ 28 июня 2018

Нам нужно уменьшить _TIMESTAMP до его компонента date ... так что попробуйте это. Эта первая попытка будет работать только в SQLServer, но не в MSAcccess.

SELECT
    CONVERT(date, dbo_new_stuff1.[_TIMESTAMP]) as justDate
    ,dbo_new_stuff1.idname
    ,Sum(dbo_new_stuff1.[_VALUE]) AS sumof_value
FROM     dbo_new_stuff1
GROUP BY dbo_new_stuff1.idname, CONVERT(date, dbo_new_stuff1.[_TIMESTAMP]) 
HAVING   (CONVERT(date, dbo_new_stuff1.[_TIMESTAMP]) >#6/12/2018#)
ORDER BY CONVERT(date, dbo_new_stuff1.[_TIMESTAMP]), dbo_new_stuff1.idname ;

Спасибо Томасу Г за то, что он исправил меня, предложив решение MSAccess -

SELECT
   Int( dbo_new_stuff1.[_TIMESTAMP]) as justDate
    ,dbo_new_stuff1.idname
    ,Sum(dbo_new_stuff1.[_VALUE]) AS sumof_value
FROM     dbo_new_stuff1
GROUP BY dbo_new_stuff1.idname, Int( dbo_new_stuff1.[_TIMESTAMP]) 
HAVING   (Int( dbo_new_stuff1.[_TIMESTAMP]) >#6/12/2018#)
ORDER BY Int( dbo_new_stuff1.[_TIMESTAMP]), dbo_new_stuff1.idname ;

Что дает этот результат -

justDate    idname          sumof_value
6/13/2018   EFF_Flow_MGD    4230515.5001
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...