PHP를 사용하여 MySQL 데이터베이스에 액세스하고 있습니다.날짜가 UNIX 타임 스탬프로 저장된 날짜의 특정 날짜에 대한 MySQL 필터
표 헤더 : :이처럼 내장 테이블이
- 아이디 (INT, 자동 증가), profileID가, 타임 스탬프를
표 내용 :
- 1, 12345678, 1513814399 (= 12/21/2017)
- 2, 13451983, 1513814400 (= 12/21/2017)
- 3 12345678, 1513944000 (= 2017년 12월 22일)
- 4 12345678, 1513944001 (= 2017년 12월 22일)
profileids 웹 사이트 방문자에 의해 호출 된 테이블을 도시하는 시각.
이제 내 질문에 어떻게 표시 할 수 있습니까? 예 : "12 월 22 일에 프로필 번호 12345678이 (가) 호출됩니다."이 경우 2가됩니다. .
SELECT COUNT(profileid), from_unixtime(timestamp, '%d') AS day, from_unixtime(timestamp, '%m') as month, from_unixtime(timestamp, '%Y') as year WHERE profileid='12345678' AND day=22 AND month=12 AND year=2017;
을하지만 그들은 테이블에 존재하지 않는 있기 때문에 열을 액세스하기 위해 "하루", "달"과 "해"수 없습니다 :
나는이 쿼리를 시도했다.
누군가가 나에게이 작업을 수행하는 방법에 대한 팁을 줄 수 있습니까? 또 다른 방법은 세 개의 새로운 열 (timestamp_day, timestamp_month 및 timestamp_year)을 만드는 것이지만 좋은 해결책은 아닙니다.
미리 감사드립니다.
teha
"타임 스탬프"필드에는 어떤 데이터 유형이 있습니까? 왜 그것을 "날짜"로 직접 설정하지 않습니까? 당신이 원하는대로 변환이 필요로하는 형식으로 저장할 필요가없는 것 같습니다. –
MySQL에는 날짜 필드에 적용 할 수있는'DAY()','MONTH()'및'YEAR() 등의 날짜 함수가 있습니다. 'https://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html –
의견을 보내 주셔서 감사합니다. 정수형입니다. 내가 그것을 정직하기 위해 익숙해 져서 시간 차이를 계산하는 것이 좋기 때문에 그렇게하는 것이 좋습니다. – teha