logo   SQL - SELECT Alias




Alias (kodet som AS) anvendes i tilknytning til select af aggregerede funktioner. Efter aliaset anføres en ident, der kan anvendes som en normal $row[]-variabel.


Til aggregerede funktioner anvendes denne syntaks:


funktionsnavn(det tabelfelt, der skal aggregeres på) AS det navn, der skal bruges som variabel i $row[].


Select, der alene anvendes til udtræk af tre forskellige aggregerede funktioner.
$query3 = "SELECT count(sang_id) AS antal_sange, sum(varighed_sekunder) AS varighed, avg(varighed_sekunder) AS snit FROM sange WHERE fk_album_id = $album_id ";
$result3 = mysqli_query($db_link, $query3) or die (mysqli_error ($db_link));
$antal3 = mysqli_num_rows ($result3);
$row3 = mysqli_fetch_assoc ($result3);
$antal_sange = $row3['antal_sange'];
$varighed = $row3['varighed'];
$snit = $row3['snit'];
Uddata vises udenfor while-løkke som en variabel pr. funktion.
echo "<tr>";
echo "<td>Antal sange: ".$antal_sange ."</td>";
echo "<td>Samlet tid: ". $varighed ."</td>";
echo "<td>Gennemsnit: ". $snit ."</td>";
echo "</tr>";






Select, der udover almindeligt udtræk fra fire tabeller, også indeholder to aggregerede funktioner. For begge funktioner udtrækkes 'mellemtotaler' (her pr 'album_id'). Der kan ikke laves differentierede 'group by' i en select.
$query = "SELECT *, count(album_id) AS antal , sum(varighed_sekunder) AS varighed FROM albums
inner join genre on fk_gen_id = gen_id
inner join kunstnere on fk_kunstner_id = kunstner_id
inner join sange on fk_album_id = album_id
group by album_id";
Uddata inde i while-løkke sammen med øvrige data
echo "<td>". $row['antal'] ."<td>";
echo "<td>". $row['varighed'] ."<td>";
























x
x