TehQuila
Grünschnabel
Hi Leute
Ich habe ein Problem mit einer Abfrage:
Ich möchte aus einer Tabelle den grössten und den zweitgrössten Wert gleichzeitig mit einem SELECT aus der selben Spalte abfragen.
Meine Tabellen sehen folgendermassen aus:
In der Tabelle "swauditlogs" gibt es die Spalte "dateline". Von dieser Spalte "dateline" möchte ich den grössten und zweitgrössten Wert für die jeweilige "ticketmaskid" aus der Tabelle "swtickets" erhalten.
Dies ist meine Abfrage wie ich sie bis jetzt zusammen habe:
Mit MAX() bekomme ich ja den grössten wert der Spalte "dateline" in der Tabelle "swauditlogs" zurück.
Jetzt möchte ich aber in der gleichen Abfrage auch noch den zweitgrössten Wert zurückbekommen.
Ich habe noch eine Abfrage mit der ich den zweitgrössten Wert erhalte:
Wie kann ich also diese zwei Abfragen zusammenführen zu einer? Ist dies überhaupt möglich?
Und wenn ja, wie?
Als Resultat hätte ich gerne etwas, dass so ähnlich aussieht:
+---------------+-----------------+--------------------------+
| ticketmaskid | last_response | second_last_response |
+---------------+-----------------+--------------------------+
| jeweilige ID | grösster Wert | zweitgröster Wert |
+---------------+-----------------+--------------------------+
Vielen Dank für eure Hilfe schon im voraus
Gruss TehQuila
Ich habe ein Problem mit einer Abfrage:
Ich möchte aus einer Tabelle den grössten und den zweitgrössten Wert gleichzeitig mit einem SELECT aus der selben Spalte abfragen.
Meine Tabellen sehen folgendermassen aus:
In der Tabelle "swauditlogs" gibt es die Spalte "dateline". Von dieser Spalte "dateline" möchte ich den grössten und zweitgrössten Wert für die jeweilige "ticketmaskid" aus der Tabelle "swtickets" erhalten.
Dies ist meine Abfrage wie ich sie bis jetzt zusammen habe:
Code:
SELECT MAX(`swauditlogs`.dateline) AS last_response, `swtickets`.ticketmaskid FROM `swauditlogs`
JOIN `swtickets` ON `swauditlogs`.ticketid = `swtickets`.ticketid
WHERE `swauditlogs`.ticketid = `swtickets`.ticketid
AND `swtickets`.ticketstatusid = 1
AND `swtickets`.departmentid = 1
AND `swauditlogs`.actiontype = 12
GROUP BY `swtickets`.ticketmaskid
Mit MAX() bekomme ich ja den grössten wert der Spalte "dateline" in der Tabelle "swauditlogs" zurück.
Jetzt möchte ich aber in der gleichen Abfrage auch noch den zweitgrössten Wert zurückbekommen.
Ich habe noch eine Abfrage mit der ich den zweitgrössten Wert erhalte:
Code:
SELECT dateline AS second_last_response FROM `swauditlogs`
WHERE ticketid = 4744
AND actiontype = 12
ORDER BY dateline DESC
LIMIT 1,1
Wie kann ich also diese zwei Abfragen zusammenführen zu einer? Ist dies überhaupt möglich?
Und wenn ja, wie?
Als Resultat hätte ich gerne etwas, dass so ähnlich aussieht:
+---------------+-----------------+--------------------------+
| ticketmaskid | last_response | second_last_response |
+---------------+-----------------+--------------------------+
| jeweilige ID | grösster Wert | zweitgröster Wert |
+---------------+-----------------+--------------------------+
Vielen Dank für eure Hilfe schon im voraus

Gruss TehQuila