I'm getting some odd results with your second example.  It looks like the
'cnt' value is not being summed together for each day, and instead I'm
getting the following:

...
1|31
1|31
1|31
1|31
1|31
1|31
1|31
1|31
1|31
1|01
1|01
1|01
1|01
1|01
1|01
1|01
1|01
1|01


The sql is verbatim, so I'm not sure what's going on..?


Bobby


On Mon, Nov 1, 2010 at 1:27 PM, Simon Davies
<simon.james.dav...@gmail.com>wrote:

> 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
>
_______________________________________________
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to