웹사이트나 앱에서 사용자의 방문 패턴을 파악하는 것은 중요합니다. 특히 어느 시간대에 사용자들이 가장 활발히 활동하는지, 혹은 방문하지 않는지를 알아내는 것은 서비스 운영에 있어 큰 도움이 됩니다. MYSQL을 사용하여 시간대별 방문자 통계를 쉽게 구할 수 있습니다. 간단한 시간대별 방문자 통계 방문시간을 기록한 `vdate` 컬럼을 기준으로 시간대별 방문자 수를 집계합니다. `vdate` 컬럼에는 `2021-01-04 00:04:45` 와 같은 형식으로 데이터가 저장되어 있습니다. SELECT HOUR(vdate) AS hh, COUNT(vdate) AS cnt FROM visitorTable WHERE vdate BETWEEN '2021-01-01 00:00:00' AND DATE_FORMAT(now..
Language
데이터베이스 내의 여러 테이블에서 필요한 데이터를 추출하려면 JOIN 연산을 활용해야 합니다. MYSQL에서는 여러 테이블을 한 번에 JOIN하여 원하는 결과를 얻는 것이 가능합니다. 이를 통해 효율적인 데이터 처리와 분석이 가능해집니다. 기본적인 JOIN 사용법 여러 테이블을 JOIN하기 위해서는 각 테이블 간의 연관된 컬럼을 기준으로 JOIN을 구성합니다. SELECT * from table1 as A LEFT JOIN table2 as B ON B.idx = A.idx LEFT JOIN table3 as C ON C.idx = A.idx WHERE A.idx = 1; 위의 쿼리는 `table1`을 기준으로 `table2`와 `table3`을 JOIN하며, 모든 테이블에서 idx 컬럼을 기준으로 연결..
Node.js 개발 과정에서 효율적인 코드 관리를 위해 헤더(header)와 푸터(footer)와 같은 공통 요소를 별도의 파일로 분리하여 관리하는 경우가 많습니다. 특히, 템플릿 엔진을 사용할 때, 이러한 공통 요소 파일에 동적인 데이터를 전달해야 할 필요성이 생길 수 있습니다. 예를 들어, 로그인 상태에 따라 헤더에 표시되는 사용자 정보를 변경해야 할 때가 이에 해당합니다. 이 글에서는 Node.js의 템플릿 엔진 중 하나인 EJS를 사용하여 include 파일에 값을 전달하는 방법을 소개합니다. 데이터 전송 방법 Node.js에서 EJS 템플릿 엔진을 사용하여 include 파일에 값 전달하기는 간단합니다. 기본적으로 EJS에서는 형태로 include 문을 작성하여 다른 파일을 포함시키고, 이때 객..
장바구니 또는 주문 시스템에서는 대체로 주문 기본 정보(주문 번호, 주문자 정보 등)를 저장하는 주문 테이블과 주문한 상품 목록을 저장하는 주문 상품 테이블로 나누어 구성합니다. 이렇게 두 개의 테이블로 나누어 저장하는 이유는 한 주문에 여러 상품을 주문할 수 있기 때문입니다. 요구사항 장바구니를 만들면서 구매상품테이블과 구매상품리스트 테이블 두개로 나눠서 만들고 있는데, 구매 상품테이블의 갯수를 10개만큼 찾고, 그 하위에 해당하는 구매물품을 출력하려고 한다. 생각해보기 limit를 쓰면 될거 같았는데 뒤에다 붙이면 전체 검색 수가 10개가 나오니 원래 하려던 구매물품 리스트를 10개만 검색하고, 그 뒤에 구매물품테이블을 붙이면(join) 될거 같다. 해결방법 데이터베이스 테이블 구조 orders (주..