Re: logic problem

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Re-read my original email, I'm using mssql and not mysql.  I'm sort 
of close to having it working with the sql statement i posted earlier and 
using PHP to figure out if the date has changed or not and to count the 
cardnum if the date hasn't changed.  I'm getting a number that is 
different then the total number multiple visits by patrons, haven't 
checked with the registration person if the # I am getting is right or 
not, because for some of the very early dates when we were testing the 
equipment, it returns a count of 0 visits by type 1 card users, even 
though they have a count of 15 multiple entries that day, so something 
weird is still going on.  i think i'm going to have to end up using a 
multidimensional array and having PHP loop through it or something...

On Wed, 21 Apr 2004, Brent Baisley wrote:

> This seems too easy to not be able to do it with SQL. There must be 
> something we're missing in the query.
> Try this:
> 
> select distinct badge.id,convert( varchar,eventime,110) as date,count(*)
> from events, badge where
> events.cardnum = badge.id and devid = '1' and
> convert( varchar, events.eventime, 110) BETWEEN '$startdate' and 
> 'enddate'
> and type = '1'
> group by date
> 
> In MySQL you don't need to specify a field for count(). And you should 
> have to convert the eventime field twice, you should be able to 
> reference the calc field in the group by.
> 
> On Apr 21, 2004, at 2:19 PM, Adam Williams wrote:
> 
> > Yeah I basically had that with my previous SQL statement, I was 
> > grouping
> > by event.cardnum instead of counting the cardnums by date.  I think 
> > what
> > I'm trying to do is beyond the scope of SQL and I'll have to write some
> > PHP to take the SQL statement results and feed them into an array and
> > count the distinct cardnums for each date and then spit it all into an
> > html table.  thanks
> >
> > On Wed, 21 Apr 2004, Daniel
> > Clark wrote:
> >
> >> AND: any count >=1 shows they came in that day.
> >>
> >> How about:
> >>
> >> SELECT convert( varchar,eventime,110) as date from events, badge,
> >>    count(convert( varchar,eventime, 110)) as count
> >> WHERE events.cardnum = badge.id and devid = '1' and
> >>    convert( varchar, events.eventime, 110) BETWEEN '$startdate' and 
> >> 'enddate'
> >> AND type = '1'
> >> GROUP BY convert( varchar,events.eventime, 110), badge
> >>
> >>
> >>> I'm using some proprietary software/hardware where when a visitor 
> >>> swipes
> >>> their entry card, it is recorded in a mssql 2000 server.  My boss 
> >>> wants a
> >>> count of unique vistors for a range of dates.  So, I need to have it 
> >>> give
> >>> a count of unique vistors, meaning that I need to count all vists 
> >>> for a
> >>> day as one visit (because if they go outside to smoke and come back 
> >>> and
> >>> swipe their card again to get in, each one is a separate visit, but 
> >>> i need
> >>> to count all visits by each person as one visit since i just want to 
> >>> know
> >>> if they came at all each day, not how many times they came in).
> >>>
> >>> This is my SQL statement:
> >>>
> >>> select distinct count(convert( varchar,eventime, 110)) as count,
> >>> convert( varchar,eventime,110) as date from events, badge wher
> >>> events.cardnum = badge.id and devid = '1' and
> >>> convert( varchar, events.eventime, 110) BETWEEN '$startdate' and 
> >>> 'enddate'
> >>> and type = '1' group by convert( varchar,events.eventime, 110)
> >>>
> >>> for reference, devid = '1' is the hardware device, where everytime it
> >>> triggers, it means someone swiped their card to get in, and type = 
> >>> '1'
> >>> means patron (because we have a type = 2 that is for staff and we 
> >>> jsut
> >>> want to know how many patrons visited)
> >>>
> >>> When I execute this statement, its returning the result for each 
> >>> date of
> >>> the total number of card swipes (so if a person comes in twice on a 
> >>> date,
> >>> its recording it as 2 swipes, but I just need to know that they came 
> >>> to
> >>> the building at all on this date, so I just need it to register that 
> >>> there
> >>> was a count of atleast one for this card that was swiped)
> >>>
> >>> any suggestions?  thanks
> >>>
> >>> --
> >>> PHP Database Mailing List (http://www.php.net/)
> >>> To unsubscribe, visit: http://www.php.net/unsub.php
> >>>
> >>>
> >>
> >>
> >
> > -- 
> > PHP Database Mailing List (http://www.php.net/)
> > To unsubscribe, visit: http://www.php.net/unsub.php
> >
> >
> 

-- 
PHP Database Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php


[Index of Archives]     [PHP Home]     [PHP Users]     [Postgresql Discussion]     [Kernel Newbies]     [Postgresql]     [Yosemite News]

  Powered by Linux