Barry wrote:
Hello everyone!
<snip>
I have a table with saved clicks by users.
Now i want to draw a graph with a php extension.
Problem is: if i let me show the clicks, one day is missing.
Because on that day noone clicked on the link.
I use this query:
SELECT DATE(c_clicktime) AS clicktime, count(c_id) as clicks FROM clicks WHERE c_cl_id = 3 AND DATE(c_clicktime)
BETWEEN '2005-01-01' AND '2005-01-20' GROUP BY clicktime
To get data that isn't there from SQL, you pretty much need a join to data which _is_ there. So create a calendar table, for example calendar(d DATE), and populate it with one row per day of interest to you. (There is an example under 'Make a calendar table' at http://www.artfulsoftware.com/queries.php). Then write your query as something like ...

SELECT DATE(c_clicktime) AS clicktime, count(c_id) as clicks
FROM calendar AS cal
LEFT JOIN clicks ON cal.d = clicks.DATE(c_clicktime)
WHERE c_cl_id = 3
 AND DATE(c_clicktime) BETWEEN '2005-01-01' AND '2005-01-20'
GROUP BY clicktime;

PB


The output gives me 19 entries because on the 20th January noone clicked that link.

I think this have to be done with a procedure.

So that my query would give a 0 (zero) for the 20th January as clicks.

How would i do something like that?

Thanks for your time :)

Mysql version is:  3.23.54

Barry


--
No virus found in this outgoing message.
Checked by AVG Free Edition.
Version: 7.1.392 / Virus Database: 268.5.6/339 - Release Date: 5/14/2006


--
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:    http://lists.mysql.com/[EMAIL PROTECTED]

Reply via email to