유닉스 타임스탬프를 사용하여 MySQL에서 1분 주기로 그룹화하는 방법이 있습니까?
저는 MariaDB 데이터베이스에 게임에 대한 데이터를 보관하고 있으며 Grafana를 사용하여 매 분마다 몇 개의 행이 삽입되었는지 그래프로 표시하고 싶었습니다.나는 Node.js 스크립트를 사용하여 게임의 Public API에서 매 분마다 데이터를 가져와 내 DB에 삽입하고 있지만, MySQL이 Grafana와 작동하는 무언가를 출력하도록 하는 방법을 찾을 수 없습니다.제가 필요한 것은 새 삽입 횟수와 1분 창 시작 시간에 대한 열이 있는 표를 출력하는 것입니다.내 DB는 다음과 같습니다.
--------------------------------------------------------------------
| auction_id | seller | buyer | timestamp | price | bin | item_bytes |
--------------------------------------------------------------------
API에서 제공하는 현재 데이터에 대한 새 삽입 수를 반환하기 위한 작업 쿼리가 있지만, 지난 몇 분 동안의 기록 데이터를 가져오는 방법을 알 수 없습니다.제가 찾고 있는 출력은 다음과 같습니다.
-----------------------------
| new inserts | timestamp |
-----------------------------
| 234 | 1625373706053 |
-----------------------------
| 684 | 1625373666053 |
-----------------------------
| 720 | 1625373626053 |
-----------------------------
| 403 | 1625373586053 |
-----------------------------
타임스탬프가 아래로 내려가는 방법에 주목합니다.60,000
각 행, 즉 60초 또는 1분에 해당합니다.GROUP BY와 StackOverflow 및 기타 사이트에서 찾을 수 있는 거의 모든 솔루션을 사용해 보았지만 여전히 작동하지 않습니다.
제가 충분히 명확하지 않았다면 주저하지 말고 논평해 주십시오.
사용할 수 있습니다.UNIX_TIMESTAMP
밀리초 단위 값을 신뢰할 수 있는 날짜 시간으로 변환합니다.그런 다음 분 단위로 집계하여 카운트를 가져옵니다.
SELECT
COUNT(*) AS `new inserts`,
FROM_UNIXTIME(timestamp / 1000, '%Y-%m-%d %H:%i') AS ts_minute
FROM yourTable
GROUP BY ts_minute
ORDER BY ts_minute;
언급URL : https://stackoverflow.com/questions/68241786/is-there-a-way-to-group-by-one-minute-periods-in-mysql-using-unix-timestamps
'sourcetip' 카테고리의 다른 글
Python을 사용하여 스프레드시트에 매크로 삽입 (0) | 2023.06.07 |
---|---|
postback에서 postback의 원인이 되는 컨트롤을 Page_에서 확인하려면 어떻게 해야 합니까?Init 이벤트 (0) | 2023.06.07 |
매개 변수는 정말로 SQL 주입을 방지하기에 충분합니까? (0) | 2023.06.07 |
SQL JOIN 두 개의 JSON 열, 두 개의 관련 ID별 (0) | 2023.06.07 |
Django TemplateSyntaxError - 'static files'는 등록된 태그 라이브러리가 아닙니다. (0) | 2023.06.07 |