Please forgive me for asking this question here, but in my estimation it seems that there are MANY monks here with extensive database experience.
I'll provide a minimal test-case for you to chew on. Given a MySQL table with the following content:
id | title | doc_num | version
1 | bar | 1234 | 1
2 | foo | 1234 | 2
3 | baz | 5678 | 1
I want to do something like
SELECT title, doc_num, MAX(version) AS version ORDER BY title;
which produces this:
title | doc_num | version
bar | 1234 | 2
baz | 5678 | 1
The problem is that the ORDER BY clause ends up sorting by the title of the older version, "bar" rather than the title for the latest version, "foo". Of course, what I REALLY want is the title from the document with the greatest version. Is there a way to do this in a single query, without using sub-selects or other such tedious things?
Or is my database hopelessly structured incorrectly?
My humblest thanks. If this question is hopelessly inappropriate, just "--" me into oblivion and please recommend a penance for my sins. ;)
Are you posting in the right place? Check out Where do I post X? to know for sure.
Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
<code> <a> <b> <big>
<blockquote> <br /> <dd>
<dl> <dt> <em> <font>
<h1> <h2> <h3> <h4>
<h5> <h6> <hr /> <i>
<li> <nbsp> <ol> <p>
<small> <strike> <strong>
<sub> <sup> <table>
<td> <th> <tr> <tt>
Snippets of code should be wrapped in
<code> tags not
<pre> tags. In fact, <pre>
tags should generally be avoided. If they must
be used, extreme care should be
taken to ensure that their contents do not
have long lines (<70 chars), in order to prevent
horizontal scrolling (and possible janitor
Want more info? How to link or
or How to display code and escape characters
are good places to start.