1

after reading through a couple similar Qs/As I haven't quite found the solution I'm looking for. The table data I have is GROUP BY DATE(timestamp) and returning a count, example result:

[timestamp] => 2010-05-12 20:18:36
[count] => 10


[timestamp] => 2010-05-14 10:10:10
[count] => 8

Without using a temporary table, or calendar table is there a way to fill in those missing dates? so that with the same table data would return:

[timestamp] => 2010-05-12 20:18:36
[count] => 10


/**
 * I would like to have this row added:
 */
[timestamp] => 2010-05-13 00:00:00
[count] => 0

[timestamp] => 2010-05-14 10:10:10
[count] => 8

Thanks!

1

3 Answers 3

0

The best way to solve this is to find the missing results on the client side and add them when you present the results.

Sign up to request clarification or add additional context in comments.

Comments

0

I didn't find the exact solution i was looking for, but I think found a method that works enough for my needs. I created a traffic table where the first visitor of the day will trigger a row insert for the day and now I can join on this table to get a daily record of whatever. The only problem however, is if there is no traffic for a day that date won't exist in the table. This can be solved by running a daily cron to insert a new row.

Comments

0

You should create a tally table (only 1 column: date), and fill it beforehand. You can run a cron script to fill 1 year, and run it once a year.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.