![]() |
[MySQL] Zwei Unterschiedliche Abfragen in ein Query
Hallo!
Wie kann ich denn in MySQL zwei SELECT's in eine zusammenfassen? Bsp: Tabelle hat spalte name (varchar), rang (int) und datum (int):
Code:
Ich will in einem einzigen SELECT das Element mit dem höchsten Rang und mit dem höchsten Datum (also das neueste) abfragen.
+--------+------+------------+
| Name | Rang | Datum | +--------+------+------------+ | Hammer | 4 | 1104582262 | | Messer | 5 | 1112358262 | | Lampe | 1 | 1112705662 | | Gabel | 3 | 1112703862 | | Stift | 2 | 1120568062 | +--------+------+------------+ Wie geht das? Danke schon mal. Grüße Faux NACHTRAG: Das "Ergebnis" sollte so aussehen:
Code:
+---------+--------+
| Highest | Newest | +---------+--------+ | Messer | Stift | +---------+--------+ |
Re: [MySQL] Zwei Unterschiedliche Abfragen in ein Query
Delphi-Quellcode:
SELECT * FROM tabelle WHERE (a = b) AND (b = c)
|
Re: [MySQL] Zwei Unterschiedliche Abfragen in ein Query
Danke für die Antwort, aber jetzt weiß ich genau so viel wie vorher... :?
Was ist a, b und c? |
Re: [MySQL] Zwei Unterschiedliche Abfragen in ein Query
Zitat:
|
Re: [MySQL] Zwei Unterschiedliche Abfragen in ein Query
Hai,
das es als eine Ergebnisszeile zurück kommt dürfte schwer sein ;-) Aber wenn es Dir nichts ausmacht das Du einfach zwei Zeilen bekommst (die erste für den mit dem höchsten Datum und die zweite für den höchsten Rang) dann kannst Du mal das versuchen:
SQL-Code:
EDIT Eventuell doch nicht so schwer?
SELECT *
FROM highscore WHERE rang IN (SELECT MAX(RANG) FROM highscore) OR datum IN (SELECT MAX(datum) FROM highscore) ORDER BY datum
SQL-Code:
Edit - 2 nach einem Denkanstoss von r_kerber
SELECT highscore.name AS Highest, highscore_temp.name AS Newest
FROM highscore CROSS JOIN highscore highscore_temp ORDER BY highscore.rang DESC, highscore_temp.datum DESC LIMIT 1
SQL-Code:
Für die SUB-Querys ist mySQL >= 4.1 notwendig.
SELECT a.name AS highest, b.name AS Newest
FROM highscore a, highscore b WHERE a.rang= (SELECT MAX(rang) FROM highscore) AND b.datum = (SELECT MAX(datum) FROM highscore) |
Re: [MySQL] Zwei Unterschiedliche Abfragen in ein Query
Und noch ne Variante:
SQL-Code:
Subselects gehen erst bei MySQL ab Version 4.1. Unions immerhin schon ab 4.0
select * from Liste order by Rand desc, Datum desc limit 0,1
union select * from Liste order by Rand Datum limit 0,1 |
Re: [MySQL] Zwei Unterschiedliche Abfragen in ein Query
Hai Jelly,
bei deiner Variante bekomme ich einen Fehler. Zitat:
|
Re: [MySQL] Zwei Unterschiedliche Abfragen in ein Query
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:48 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz