Hallo,
ich seh aktuell den Wald vor lauter Bäumen nicht mehr.
Folgende PHP Seite habe ich:
Wie man sieht wird der eingegebene KM Stand in einer Tabelle ausgegeben. Ich möchte jetzt mittels SQL Abfrage aber auch noch die Distanz vom letzten KM Stand zum aktuellen KM Stand berechnen. Eigentlich dachte ich, dass das ein einfaches unterfangen ist, ich komm aber nicht drauf.
Mein Zugang jetzt wäre schon gewesen, dass ich einfach den aktuellen KM Stand * 2 berechne und dann mit einem verketteten SQL Statement die höchsten 2 KM Stände ausgebe, zusammenrechne und dann vom doppelten KM Stand abziehe. Das Ergebnis ist natürlich das gleiche, als wenn ich direkt B - A berechnen würde. ABER ... das geht natürlich immer nur für den letzten Eintrag in der DB gut weil er mir ja bei den anderen Zeilen dann auch immer das gleiche Ergebnis liefern würde.
Ich suche jetzt also eine Möglichkeit, dass ich mit SQL irgendwie tatsächlich die letzte Zeile von der vorletzten Zeile subtrahieren kann. Mit MySQL. Nein ich habe nicht die Möglichkeit auf PostgreSQL zu wechseln.
Es gibt dazu schon ein paar halbwegs passende Fragen, aber nie wirklich Antworten habe ich das Gefühl.
ich seh aktuell den Wald vor lauter Bäumen nicht mehr.
Folgende PHP Seite habe ich:
PHP-Code:
<?php
require 'config.php';
try {
$conn = new PDO("mysql:host={$servername};dbname={$dbname};charset=utf8",$username,$password);
$sql= "SELECT
id,
km_stand,
distanz
FROM Verbrauch";
$daten = $conn->prepare($sql);
$daten->execute();
echo '
<article>
<table class="table table-striped" cellpadding="0" cellspacing="0" border="0" width="100%">
<thead>
<tr>
<th>ID</th>
<th>KM Stand</th>
<th>Distanz</th>
<th></th>
</tr>
</thead>';
while ($row = $daten->fetch(PDO::FETCH_ASSOC))
{
echo "<tr>";
echo "<td>". $row['id'] . "</td>";
echo "<td>". $row['km_stand'] . "</td>";
echo "<td>". $row['distanz'] . "</td>";
echo "</tr>";
}
}
catch(PDOException $e)
{
echo "Error: " . $e->getMessage();
}
$conn = null;
echo "</table>";
?>
Mein Zugang jetzt wäre schon gewesen, dass ich einfach den aktuellen KM Stand * 2 berechne und dann mit einem verketteten SQL Statement die höchsten 2 KM Stände ausgebe, zusammenrechne und dann vom doppelten KM Stand abziehe. Das Ergebnis ist natürlich das gleiche, als wenn ich direkt B - A berechnen würde. ABER ... das geht natürlich immer nur für den letzten Eintrag in der DB gut weil er mir ja bei den anderen Zeilen dann auch immer das gleiche Ergebnis liefern würde.
Ich suche jetzt also eine Möglichkeit, dass ich mit SQL irgendwie tatsächlich die letzte Zeile von der vorletzten Zeile subtrahieren kann. Mit MySQL. Nein ich habe nicht die Möglichkeit auf PostgreSQL zu wechseln.
Es gibt dazu schon ein paar halbwegs passende Fragen, aber nie wirklich Antworten habe ich das Gefühl.
Kommentar