Ok this subject sounds a bit vague, but here's my question:
I have a table containing a user id column, a column with events (like log in) and a date column (mm/dd/yy hh/mm/ss).
What i would like to do is to count the number of users who have logged into my system, sorted by month.
Example: January - 20 users
              Februari - 42 users
              March    - 13 users etc.
Can this be done with just one SQL statement? If so, can anyone give me an example query?
Thanks!
SanderHello,
what do you think about 
SELECT TO_CHAR(date_field, 'MONTH'), count(*) FROM table_name
    GROUP BY TO_CHAR(date_field, 'MONTH')
 
if you are using an Oracle database.
Hope this helps ?
Greetings
Manfred Peter
(Alligator Company)
http://www.alligatorsql.com|||Hi Manfred Peter,
I'm sorry to say i don't have Oracle, i run MSSQL7. So the statement you provided won't work (i know for sure the to_char function won't work) :rolleyes:  
What i have so far is: 
select count(users)  from table where ops='login' and date between dateA and dateB
This will return me one number from the given timeframe. I want to create a statement that will give me the number of logins over the time period of a year for each month, so 12 numbers. I can't just copy/paste the same statement 11 times...can I :confused: 
Thanks!
Sander.|||Hello Sander,
of course you can, but this means 12 times parsing the sqlstatement and reqeusting the datas from the database.
There must be an equivalent to the TO_CHAR function in MSQL Server.
You just need the function that gives only the complete month of a date value (lets say this function is called MONTH(x));
Then the statement
SELECT MONTH(date_field), COUNT(*) from table
GROUP BY MONTH(date_field) 
This is the better way ... in my opinion
Search the doku for such a command :)
Let me know if you have further problems.
Manfred Peter
(Alligator Company)
http://www.alligatorsql.com
Monday, February 20, 2012
Subscribe to:
Post Comments (Atom)
 
No comments:
Post a Comment