Mike,

I can't really help except to ask if you're sure you copied and pasted
the query correctly.  I did a similar query against a test system:

select u.uid,u.username,b.buddyUid,SEC_TO_TIME(SUM(TIME_TO_SEC(u.modified)))
as mins from Users u left join BuddyList b on u.uid = b.uid where
u.modified >= DATE_SUB(NOW(),INTERVAL 14 DAY) and country="au" group
by u.uid having mins >= '2' order by mins;

Similar joins, similar where clause, etc and yet I got an answer
(almost 700 rows, took 2 seconds) while you got a syntax error.
select @@version;
+---------------------+
| @@VERSION           |
+---------------------+
| 4.1.12-standard-log |
+---------------------+

So I'm not sure what to recommend other than trying the query again to
make sure there aren't typos.

MySQL usually gives a syntax error *where* the error happens.  In this
case, it would indicate a problem with "SEC_TO_TIME(" but there
shouldn't be a problem, both according to the manual AND according to
my example.

I would prepare for a bug report -- create 2 new tables in the test
db, in this case you don't need a lot of test data, do the join, and
if you still get the problem, submit a bug report (you've just done
the "steps to recreate" part).  Many times I've done this and realized
where my bug was because the query worked in the test table.

-Sheeri

On 5/17/06, Mike Blezien <[EMAIL PROTECTED]> wrote:
Hello,

this is a continued problem we are having from a earlier posting to the list
regarding a query. We need to calculate the SUM of the column
'agent_product_time' which is a TIME datatype column and according to the
manual:
http://dev.mysql.com/doc/refman/4.1/en/date-and-time-type-overview.html
this is the way to SUM the total time, which keeps producing a syntax error and
figure out why

MySQL version 4.1.12
---------------------------------------------------------------------------------------------------
SELECT c.account_id,a.name,a.company,
SEC_TO_TIME(SUM(TIME_TO_SEC(c.agent_product_time))) AS mins
FROM account a LEFT JOIN calls c ON c.account_id = a.id
WHERE c.calldate >= DATE_SUB(NOW(),INTERVAL 14 DAY)
AND c.agent_id = 2 GROUP BY c.account_id HAVING mins >= '500' ORDER BY mins

ERROR:
#1064 - You have an error in your SQL syntax; check the manual that corresponds
to
your MySQL server version for the right syntax to use near
'( SUM( TIME_TO_SEC( c . agent_product_time ) ) ) AS mins  FROM account a LEFT
JO' at line 1
--------------------------------------------------------------------------

What would be producing the syntax error here.??

Again, any help would be much appreciated.

Mike(mickalo)Blezien
===============================
Thunder Rain Internet Publishing
Providing Internet Solution that Work
http://www.thunder-rain.com
===============================


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



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

Reply via email to