MySql 에서 특정 시간부터 현제 시간까지의 합을 구하려면 ?

MySQL에서 특정 시간부터 현재 시간까지의 합을 구하려면, SUM 함수와 조건절을 사용해야 합니다. 특정 시간은 WHERE 절에서 조건으로 설정하고, 현재 시간은 NOW() 함수를 활용하면 됩니다.

예제 쿼리를 통해 살펴보겠습니다.

예제

다음은 특정 테이블 transactions에서 amount 컬럼의 합을 특정 시간부터 현재 시간까지 계산하는 쿼리입니다.

sql
SELECT SUM(amount) AS total_amount FROM transactions WHERE transaction_time >= '2024-12-01 00:00:00' AND transaction_time <= NOW();

주요 사항

  1. transaction_time: 시간 정보를 저장한 컬럼입니다.
  2. 특정 시간: '2024-12-01 00:00:00'와 같은 형식으로 지정합니다.
  3. 현재 시간: NOW()를 사용하여 현재 시간을 가져옵니다.
  4. 조건: WHERE 절에서 조건을 추가합니다. 예를 들어, 특정 시간 이후의 데이터를 포함하려면 >= 연산자를 사용합니다.

조건을 동적으로 설정하기

  • 특정 시간 간격(예: 최근 1시간, 최근 하루)을 기준으로 합을 구하려면 DATE_SUB 함수를 사용할 수 있습니다.

최근 1시간 동안의 합:

sql
SELECT SUM(amount) AS total_amount FROM transactions WHERE transaction_time >= DATE_SUB(NOW(), INTERVAL 1 HOUR);

최근 1일 동안의 합:

sql
SELECT SUM(amount) AS total_amount FROM transactions WHERE transaction_time >= DATE_SUB(NOW(), INTERVAL 1 DAY);

이와 같은 방법으로 원하는 시간 범위의 데이터를 계산할 수 있습니다. 필요한 경우 다른 조건(예: 특정 사용자, 카테고리)도 추가할 수 있습니다.

You may also like...

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다