30. marts 2006 - 13:15Der er
8 kommentarer og 1 løsning
Vis nyeste med GROUP BY
Prøver at trække tekst ud fra en tabel, "kommentarer", med GROUP BY
$comment = mysql_query("SELECT `artikler`.`id`, LEFT(kommentarer.kommentar, 40) as `text` FROM `artikler`, `kommentarer` WHERE `artikler`.`id` = `kommentarer`.`id_ref` GROUP BY `kommentarer`.`id_ref` ORDER BY `kommentarer`.`dato` DESC LIMIT 0, 5") or die (mysql_error());
Men det er den første kommentar som der vises tekst fra. Hvordan skal den ellers laves?
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
Hvis du har mysql 5 og du har en kolonne id i kommentar som er auto_increment, så kan du måske lave den i stil med:
SELECT tk.id_ref, LEFT(tk.kommentar, 40) as `text` FROM kommentarer tk INNER JOIN (SELECT artikler.id, MAX(`kommentarer`.`id`) as kid FROM `artikler`, `kommentarer` WHERE `artikler`.`id` = `kommentarer`.`id_ref` GROUP BY artikler.id) as max_ids ON tk.id = max_ids.kid ORDER BY tk.dato DESC LIMIT 0, 5
Den finder id'et for de nyeste kommentarer i din inderste SQL sætning (SELECT artikler.id, MAX(`kommentarer`.`id`) as kid FROM `artikler`, `kommentarer` WHERE `artikler`.`id` = `kommentarer`.`id_ref` GROUP BY artikler.id)
de ID'er bliver JOIN'et på kommentarer tabelen for at kunne trække teskten i kolonnen kommentar ud.
>> Bruger iøvrigt ver. 4.1.11 ??? Ok sql sætnigen bruger sub-selects og jeg mente det første var muligt fra version 5 men det er nok i version 4 eller 4.1 det er kommet med så :)
Spørgsmålet er om du ikke også kan rette det til denne da artikel id'et jo er i kommentarer tabellen kolonne id_ref, du kan evt. prøve:
SELECT tk.id_ref, LEFT(tk.kommentar, 40) as `text` FROM kommentarer tk INNER JOIN (SELECT MAX(`kommentarer`.`id`) as kid FROM `kommentarer` GROUP BY kommentarer.id_ref) as max_ids ON tk.id = max_ids.kid ORDER BY tk.dato DESC LIMIT 0, 5
Jow, din sidste virker også! Takker mange gange!!!
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.