On Sat 2003-01-25 at 14:11:06 +0100, [EMAIL PROTECTED] wrote: [...] > What I want is the combined output of selects like these (example with 2 > users) : > > SELECT timecode, > sum(cpuusage) AS jfn > FROM process > WHERE systemid = '2' > AND username = 'jfn' > AND timecode > now() - INTERVAL 1 DAY > GROUP BY timecode > ORDER BY timecode > > SELECT timecode, > sum(cpuusage) AS root > FROM process > WHERE systemid = '2' > AND username = 'root' > AND timecode > now() - INTERVAL 1 DAY > GROUP BY timecode > ORDER BY timecode > > With combined I mean that I want it in the form "timecode, jfn, root". > > How do I rewrite this into one select, and can it be done without having > to use features only present in v4, or features that require write > access to the database ???
If I understand you correcty, the following should do what you want (untested): SELECT timecode, SUM(IF(username='jfn',cpuusage,0)), SUM(IF(username='root',cpuusage,0)) FROM process WHERE systemid = 2 AND timecode > now() - INTERVAL 1 DAY AND username in ('jfn', 'root') GROUP BY timecode ORDER BY timecode Note that it will be somewhat slower than two seperate queries, I think. > For people who want to test/try the real database, there's a read only > web interface at http://statdb.dassic.com/sql.php > The 2 queries from the example that I want to combine into one produce > useful data, so the question is just to merge them into one, since the > goal is to later, using another interface, ask a PHP script to draw a > graph with a top 5 of CPU usage among users. To do this I need a output > like this : > timecode, user1, user2, user3 etc. For that application, I do not see why the output of something like SELECT timecode, user, SUM(cpuusage) FROM process WHERE systemid = 2 AND timecode > now() - INTERVAL 1 DAY AND username in ('jfn', 'root') GROUP BY timecode, user ORDER BY timecode, user is not enough. That is easily post-processed in the application. HTH, Benjamin. -- [EMAIL PROTECTED] --------------------------------------------------------------------- Before posting, please check: http://www.mysql.com/manual.php (the manual) http://lists.mysql.com/ (the list archive) To request this thread, e-mail <[EMAIL PROTECTED]> To unsubscribe, e-mail <[EMAIL PROTECTED]> Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php