On 09/06/2012 10:23 AM, h...@tbbs.net wrote:
How about

SELECT lights.*, machine.mach_name
FROM lights JOIN machine USING (mach_id)
/* ORDER BY date DESC */
GROUP BY mach_id

? With USING the fields "mach_id" from "lights" and "machine" become one unambiguous 
field "mach_id".

Does "mach_id" really occur more times in "lights" or "machine"? If only once in both 
tables, GROUP BY at most orders it. It is not clear that ORDER BY does anything with GROUP BY outside it, unless 
"mach_id" is unique in both tables--I have found that GROUP BY not always orders the output, when everything 
is unique.

And yes, MySQL balks at saving a view with a query for a table. One has to make 
them separate views.



Now that's a syntax I've never seen before. Then again, I haven't done any serious SQL in about 5 years, so I shouldn't be surprised. If I read your question correctly about mach_id, the mach_id is precisely what it's name implies, the identifier of a particular machine. It's unique to that machine, but it occurs many times in the lights table, as it is the table my monitoring system inserts data. I have them ORDERed BY date DESC to make sure I get the most recent status of EACH machine at the top of the list like this:

mach1,2010-09-01 10:00:00,running
mach2,2010-09-01 09:59:51,running
mach3....

etc.

That's also what the GROUP BY is for, to group all the entries by machine ID, order them first, then group them. Honestly, the ORDER BY may not be needed other than for getting them listed in 'numerical' order. That's certainly not necessarily a requirement at the moment.

(And getting me to think about the grouping and ordering part of the query makes me stop and rethink the logic behind the query. So thanks for that. My SQL brain is still fuzzy, and combined with Vicodin, I'm no House. I can't function 100% on pain meds.

I'll take a look at this, and if I need any help, I'll holler, but this looks really good at the moment.

Thanks.


--

Mark Haney
Software Developer/Consultant
AB Emblem
ma...@abemblem.com
Linux marius.homelinux.org 3.5.1-1.fc17.x86_64 GNU/Linux

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

Reply via email to