Hi,
Chris W wrote:
I have the following query...
SELECT CreateDate, count( * )
FROM `userprofile`
GROUP BY CreateDate
It isn't exactly what I want. Records are added to this table in 2 main
ways. First people use the web site interface to create records. In
this case, records are only added by one or 2 people and with a
significant time between record inserts. The second way is through an
import that reads data from a text file. In the second case the date on
the records will all be close together with about 60 records added per
second. What I want to do is find all the groups where the inserts all
happened with in say 10 seconds. So my group by would be more like......
GROUP BY CreateDate +- 10 SECOND
Convert the date to a number of seconds, then round to the nearest 20
seconds and convert it back to a date. You can use FROM_UNIXTIME() and
UNIX_TIMESTAMP() for the conversion. You can round to the nearest 20
seconds by dividing by 20, rounding to the nearest whole number, and
multiplying by 20 again. Group by the resulting expression.
Baron
--
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe: http://lists.mysql.com/[EMAIL PROTECTED]