php根据时间段查询每天的数据
现在需要查询给定的日期内的每天的数据,请教各位有没有什么好的办法?
回复讨论(解决方案)
首先数据库必须要有一个保存日期的字段,然后按日期分组统计即可。
首先数据库必须要有一个保存日期的字段,然后按日期分组统计即可。
你好,我的数据库保存的有unix时间戳形式的日期字段,现在是给定一个开始时间和结束时间,我要怎么才能分别查出每天的数据的?
时间戳分组比较麻烦,先用日期转换函数转成日期,然后再分组,不过这样效率较低,最好还是设计的时候增加一个日期字段。
能不能详细说下的,我还是不大明白哈!
你可以看看MYSQL的日期函数,比如你保存时间戳的字段为t
可以这样统计数据
SELECT COUNT(*) AS n,FROM_UNIXTIME(`t`,'%y-$m-%d') AS d FROM `tb` GROUP BY d ORDER BY d
不过这种效率很低,最好你插入的时候就计算好日期。
select id,FROM_UNIXTIME(timeField, '%Y%m%d') as time from tableName where FROM_UNIXTIME(timeField, '%Y%m%d')=20150920
你好,“插入的时候就计算好日期”指的是在数据库保存数据的时候就保存成如2015-10-08这种格式的日期吗?
我现在获取到的是一个时间段的开始时间和结束时间,是不是要先把这段时间按天保存到一个数组,然后按“每天”执行查询当天的数据的?
你好,“插入的时候就计算好日期”指的是在数据库保存数据的时候就保存成如2015-10-08这种格式的日期吗?
我现在获取到的是一个时间段的开始时间和结束时间,是不是要先把这段时间按天保存到一个数组,然后按“每天”执行查询当天的数据的?
是的,插入的时候就保存日期格式。
有开始时间和结束时间的话,查询的时候用大于小于比较符即可。如果数据量较大的话,每天写定时整理好存在一个新表中就快多了。
<?php ///$ary为该时间区间下所有的数据foreach($ary as $k=>$v){ $datas['day_'.date('md',$v['timestamp'])][]=$v;//分组 }var_dump($datas['day_0809'])//为8月9号那天所有数据;?>
你好,“插入的时候就计算好日期”指的是在数据库保存数据的时候就保存成如2015-10-08这种格式的日期吗?
我现在获取到的是一个时间段的开始时间和结束时间,是不是要先把这段时间按天保存到一个数组,然后按“每天”执行查询当天的数据的?
是的,插入的时候就保存日期格式。
有开始时间和结束时间的话,查询的时候用大于小于比较符即可。如果数据量较大的话,每天写定时整理好存在一个新表中就快多了。
明白了,多谢哈!
<?php ///$ary为该时间区间下所有的数据foreach($ary as $k=>$v){ $datas['day_'.date('md',$v['timestamp'])][]=$v;//分组 }var_dump($datas['day_0809'])//为8月9号那天所有数据;?>
3g油!
时间戳有时间戳的好处
用php来做数据整合就可以咯.
时间戳有时间戳的好处
用php来做数据整合就可以咯.
你好,我也是这样认为的,但是一直不太清楚什么情况用时间戳和日期格式比较合适!
PHP做数据整合适合小数据量,大数据太耗资源,如果你有100W数据需要占用多少内存多少带宽?一亿呢?
PHP做数据整合适合小数据量,大数据太耗资源,如果你有100W数据需要占用多少内存多少带宽?一亿呢?
怎么做才能最大程度的减少资源的消耗呢?
每种数据库的日期时间函数都是不一样的
如果你有升迁到大型或分布式数据库的打算时,则一定不能使用日期、时间类型字段
使用 unix 时间戳可免除绝大多数日期时间函数的烦恼
select *,from_unixtime(addtime, '%Y%m%d') as d from table where from_unixtime(addtime,'%Y%m%d')>=20150101 and from_unixtime(addtime,'%Y%m%d')<=20150201;
$d1 = strtotime('2015-01-01');
$d2 = strtotime('2015-02-01');
$sql = "select * from tbl_name where field between $d1 and $d2"
查询时没有了格式转换,自然效率要高很多
数据库存时间戳就挺好的 不用改 你查询的条件 可以把给的制定日期变成时间戳再去查库啊
多谢各位的回答,不但解决了我的问题还让我学到了更多的知识,非常感谢!!!
数据库存时间戳就挺好的 不用改 你查询的条件 可以把给的制定日期变成时间戳再去查库啊
数据库中保存的是时间戳,如果是要以每天为单位查询出一段时间每天的数据就不大方便了吧。
数据库表(时间字段应该是时间戳格式,为了便于显示直接写成date格式):
时间 | 种类 | 数量
2015-10-14 1 20
2015-10-14 2 15
2015-10-14 3 35
2015-10-15 3 35
要如下结果:
时间 | 销售种类总数
2015-10-14 3
2015-10-15 1
这没有什么
select 时间戳, sum(数量) from 表 group by floor(时间戳/86400)
这没有什么
select 时间戳, sum(数量) from 表 group by floor(时间戳/86400)
哇,还能这样用,受教了,多谢!!!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











PHP 클라이언트 URL (CURL) 확장자는 개발자를위한 강력한 도구이며 원격 서버 및 REST API와의 원활한 상호 작용을 가능하게합니다. PHP CURL은 존경받는 다중 프로모토콜 파일 전송 라이브러리 인 Libcurl을 활용하여 효율적인 execu를 용이하게합니다.

Alipay PHP ...

고객의 가장 긴급한 문제에 실시간 인스턴트 솔루션을 제공하고 싶습니까? 라이브 채팅을 통해 고객과 실시간 대화를 나누고 문제를 즉시 해결할 수 있습니다. 그것은 당신이 당신의 관습에 더 빠른 서비스를 제공 할 수 있도록합니다.

기사는 PHP 5.3에 도입 된 PHP의 LSB (Late STATIC BING)에 대해 논의하여 정적 방법의 런타임 해상도가보다 유연한 상속을 요구할 수있게한다. LSB의 실제 응용 프로그램 및 잠재적 성능

JWT는 주로 신분증 인증 및 정보 교환을 위해 당사자간에 정보를 안전하게 전송하는 데 사용되는 JSON을 기반으로 한 개방형 표준입니다. 1. JWT는 헤더, 페이로드 및 서명의 세 부분으로 구성됩니다. 2. JWT의 작업 원칙에는 세 가지 단계가 포함됩니다. JWT 생성, JWT 확인 및 Parsing Payload. 3. PHP에서 인증에 JWT를 사용하면 JWT를 생성하고 확인할 수 있으며 사용자 역할 및 권한 정보가 고급 사용에 포함될 수 있습니다. 4. 일반적인 오류에는 서명 검증 실패, 토큰 만료 및 대형 페이로드가 포함됩니다. 디버깅 기술에는 디버깅 도구 및 로깅 사용이 포함됩니다. 5. 성능 최적화 및 모범 사례에는 적절한 시그니처 알고리즘 사용, 타당성 기간 설정 합리적,

기사는 입력 유효성 검사, 인증 및 정기 업데이트를 포함한 취약점을 방지하기 위해 프레임 워크의 필수 보안 기능을 논의합니다.

이 기사에서는 프레임 워크에 사용자 정의 기능 추가, 아키텍처 이해, 확장 지점 식별 및 통합 및 디버깅을위한 모범 사례에 중점을 둡니다.

PHP 개발에서 PHP의 CURL 라이브러리를 사용하여 JSON 데이터를 보내면 종종 외부 API와 상호 작용해야합니다. 일반적인 방법 중 하나는 컬 라이브러리를 사용하여 게시물을 보내는 것입니다 ...
