SELECT * FROM grafik.annoncebank a group by a.adsmart_nr,a.publication,a.heading,a.status_id,a.adid order by lastmoddt desc
Det jeg gerne vil have sorteret er indholdet i selve grupperingen, altså de enkelte records der ligger i den enkelte grupppe, for på den måde at udtrække den nyeste opdaterede record.
Kan jeg gøre det i sql, elle er jeg nødt til at lave en procedure i php som gør det
Jeg ved ikke om jeg har forstået det rigtigt, men hvis du ønsker de rækker, som inden for hver gruppering er blevet opdateret sidst, kunne en SQL som nedenstående måske være svaret:
SELECT * FROM grafik.annoncebank a WHERE lastmoddt = (SELECT MAX(lastmoddt) FROM grafik.annoncebank WHERE adsmart_nr = a.adsmart_nr AND heading = a.heading AND status = a.status AND adid = a.adid)
Det kræver dog, at din version af MySQL understøtter subselects, hvilket den gør fra version 4.1
SELECT a.* FROM grafik.annoncebank a INNER JOIN ( SELECT adsmart_nr, heading, status, adid, MAX(lastmoddt) AS SidstÆndret FROM grafik.annoncebank GROUP BY adsmart_nr, heading, status, adid ) AS b ON a.adsmart_nr = b.adsmart_nr AND a.heading = b.heading AND a.status = b.status AND a.adid = b.adid AND a.lastmoddt = b.SidstÆndret
Hvis du ikke har flere spørgsmål/tilbagemeldinger skal der vist bare lukkes. For det tilfældes skyld, at du mener jeg fortjener et par point, lægger jeg et svar. :-)
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.