2012-07-28 3 views
1

이것은 데이터베이스를 설정하는 가장 좋은 방법에 대한 일반적인 질문입니다. 소프트웨어와 관련이 없지만 정보는 MYSQL입니다.이 데이터베이스 테이블의 데이터를 구성하는 가장 좋은 방법

I 1000 "집"을 모니터링하고 얼마나 많은 사람들이 나중에 같은 통계에서 사용하기에 주어진 시간에 그 집에서 존재 : 집이 특정 시간 범위 에서 일반적으로 최대한입니다

일반적으로 평균 용량 모든 주택 및 특정 주택에 대해 가장 바쁜 시간대.

매 시간마다 얼마나 많은 사람들이 있는지 확인하겠습니다.

이 mysql 테이블을 설정하는 가장 좋은 방법은 무엇입니까?

답변

3

(선택 사항) 각 집 (일부 유형의 ID와 함께 각 위치를 설명하는 집 테이블)에 대한 항목을 원하는 것처럼 보입니다.

그러면 집 ID, 사람 수 및 샘플 날짜/시간을 포함하는 트랜잭션 테이블이 필요합니다.

이렇게하면 원하는 것을 분석 할 수 있습니다.

예 : 일부는 /이 모든 쿼리가 작동하지 않을 수 있습니다 :

House 
    HouseID int 
    Address1 varchar 
    etc etc.. 

Attendance 
    RecordID int (optional I suppose) 
    HouseID int 
    People int 
    SampleDate datetime 

쿼리는 평균과 같은 물건에 대해 특정 시간 범위

SELECT TOP 1 HouseID FROM Attendance GROUP BY HouseID ORDER BY SUM(People) DESC 

면책 조항에 대한 최대한의 어느 집

SELECT AVG(People) FROM Attendance WHERE HouseID = 1 AND SampleDate BETWEEN Date1 AND Date2 

쉽게 충분합니다 :)

편집 : 그들은 작동합니다! 여기에 행동

http://sqlfiddle.com/#!3/293e4/8

+0

에서 그들을 보여주는 SQL 바이올린이 내가 그것을 생각하지만 난이 쿼리가이 이제 의미가 어떻게 보일지에 부착 된 방법입니다입니다. – ParoX

+0

답변을 수정하여 세부 정보와 데모를 추가하십시오. – Charleh

관련 문제