On 1 November 2010 16:45, J. Bobby Lopez <j...@jbldata.com> wrote:
> Hello all,
>
> I've been reading http://www.sqlite.org/cvstrac/wiki?p=DateAndTimeFunctions,
> but I'm having some trouble understanding how I would pull records within a
> specific date range (last five days for example).
>
.
.
.
> CREATE TABLE data (
>                    id INTEGER PRIMARY KEY,
>                    user_id varchar(30),
>                    date varchar(30),
>                    keywords varchar(1024),
>                    log_files varchar(1024),
>                    script varchar(30),
>                    tracker_ip varchar(30),
>                    user_ip varchar(30)
>                    );
>
>
> Basically I'd like to get output similar to the following:
>
> 5|25
> 3|26
> 7|27
> 2|29
> 4|30
>
>
> These being the number of records logged for each day in the past 7 days,
> the days being Oct 25 - Nov 1.
>
>

Something like:
SQLite version 3.6.11
Enter ".help" for instructions
sqlite>
sqlite>
sqlite> CREATE TABLE data (
   ...>                     id INTEGER PRIMARY KEY,
   ...>                     user_id varchar(30),
   ...>                     date varchar(30),
   ...>                     keywords varchar(1024),
   ...>                     log_files varchar(1024),
   ...>                     script varchar(30),
   ...>                     tracker_ip varchar(30),
   ...>                     user_ip varchar(30)
   ...>                     );
sqlite>
sqlite>
sqlite> insert into data( date ) values( '2010-10-25' );
sqlite> insert into data( date ) values( '2010-10-25' );
sqlite> insert into data( date ) values( '2010-10-26' );
sqlite> insert into data( date ) values( '2010-10-26' );
sqlite> insert into data( date ) values( '2010-10-26' );
sqlite> insert into data( date ) values( '2010-10-27' );
sqlite> insert into data( date ) values( '2010-10-29' );
sqlite> insert into data( date ) values( '2010-10-29' );
sqlite> insert into data( date ) values( '2010-10-30' );
sqlite> insert into data( date ) values( '2010-10-30' );
sqlite> insert into data( date ) values( '2010-10-30' );
sqlite> insert into data( date ) values( '2010-11-01' );
sqlite> insert into data( date ) values( '2010-11-01' );
sqlite> insert into data( date ) values( '2010-11-01' );
sqlite> insert into data( date ) values( '2010-11-02' );
sqlite> insert into data( date ) values( '2010-11-03' );
sqlite> insert into data( date ) values( '2010-11-03' );
sqlite> insert into data( date ) values( '2010-11-05' );
sqlite>
sqlite> select cnt, day from (
   ...>         select  count(*) as cnt,
   ...>                 julianday( date ) as jul,
   ...>                 strftime( '%d', date ) as day
   ...>         from data, (select '2010-10-30' as ref )
   ...>         where   jul > julianday( ref, '-7 days' ) and
   ...>                 jul <= julianday( ref )
   ...>         group by jul
   ...>         order by jul );
2|25
3|26
1|27
2|29
3|30
sqlite> select cnt, day from (
   ...>         select  count(*) as cnt,
   ...>                 julianday( date ) as jul,
   ...>                 strftime( '%d', date ) as day
   ...>         from data, (select '2010-11-02' as ref )
   ...>         where   jul > julianday( ref, '-7 days' ) and
   ...>                 jul <= julianday( ref )
   ...>         group by jul
   ...>         order by jul );
1|27
2|29
3|30
3|01
1|02
sqlite> select cnt, day from (
   ...>         select  count(*) as cnt,
   ...>                 julianday( date ) as jul,
   ...>                 strftime( '%d', date ) as day
   ...>         from data, (select 'now' as ref )
   ...>         where   jul > julianday( ref, '-7 days' ) and
   ...>                 jul <= julianday( ref )
   ...>         group by jul
   ...>         order by jul );
3|26
1|27
2|29
3|30
3|01
sqlite>


>
> Bobby

Regards,
Simon
_______________________________________________
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to