CronJob-Service
bei SELFPHP mit ...
|
+ minütlichen Aufrufen
+ eigenem Crontab Eintrag
+ unbegrenzten CronJobs
+ Statistiken
+ Beispielaufrufen
+ Control-Bereich
Führen Sie mit den CronJobs von
SELFPHP zeitgesteuert Programme
auf Ihrem Server
aus. Weitere Infos
|
:: Anbieterverzeichnis ::
Globale Branchen
Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP
:: Newsletter ::
Abonnieren Sie hier den kostenlosen
SELFPHP Newsletter!
|
MySQLi/PDO/(MySQL) Anfänger, Fortgeschrittene oder Experten können hier Fragen und Probleme rund um MySQLi/PDO/(MySQL) diskutieren |
25.12.2009, 23:08:54
|
Anfänger
|
|
Registriert seit: Nov 2009
Alter: 45
Beiträge: 3
|
|
In einem Feld identische Datensätze nur einmal ausgeben
Hallo und frohe Weihnachten noch nachträglich :-)
ich habe folgenden Select:
$query="(select id,titel,quartal,startdatum,DATE_FORMAT(startdatum,'%d.%m.%Y') AS startdatum_de,DATE_FORMAT(enddatum,'%d.%m.%Y') AS enddatum_de,enddatum AS sort_date from termine where startdatum<CURDATE() AND enddatum>=CURDATE() order by sort_date asc) UNION (select id,titel,quartal,startdatum,DATE_FORMAT(startdatum,'%d.%m.%Y') AS startdatum_de,DATE_FORMAT(enddatum,'%d.%m.%Y') AS enddatum_de,startdatum AS sort_date from termine where startdatum>=CURDATE() order by sort_date asc) order by sort_date asc";
Nun möchte ich Datensätze, die den gleichen titel haben nur einmal ausgeben: In der Tabelle befinden sich immer bis zu zwei Datensätze, die bis auf den Wert von id und Quartal identisch sind. Von diesen beiden Datensätzen möchte ich immer nur einen ausgeben (welcher ist egal) und ich möchte sicherheitshalber den Vergleich auf das Feld titel beschränken.
Über ein paar Anregungen würde ich mich sehr freuen (mit distinct und group by habe ich bereits erfolglos experimentiert).
Vielen Dank schon im voraus …
|
29.12.2009, 08:00:11
|
Member
|
|
Registriert seit: Nov 2007
Beiträge: 843
|
|
AW: In einem Feld identische Datensätze nur einmal ausgeben
Hi
Also ich verstehe dein UNION nicht.
Deine abfrage ohne UNION.
Code:
select id,titel,quartal,startdatum,DATE_FORMAT(startdatum,'%d.%m.%Y') AS startdatum_de,DATE_FORMAT(enddatum,'%d.%m.%Y') AS enddatum_de,enddatum AS sort_date1,startdatum as sort_date2 from termine where (startdatum<CURDATE() AND enddatum>=CURDATE()) or (startdatum>=CURDATE()) order by sort_date1,sort_date2 asc
Ergibt das vielleicht auch dein gewünschtes Ergebnis?
Wenn ja dann dazu group by
Code:
select id,titel,quartal,startdatum,DATE_FORMAT(startdatum,'%d.%m.%Y') AS startdatum_de,DATE_FORMAT(enddatum,'%d.%m.%Y') AS enddatum_de,enddatum AS sort_date1,startdatum as sort_date2 from termine where (startdatum<CURDATE() AND enddatum>=CURDATE()) or (startdatum>=CURDATE()) group by titel order by sort_date1,sort_date2 asc
Und wie immer bitte mit Explain deine select's prüfen / auswerten.
mfg
Ckaos
__________________
"Wenn die Leute Häuser so bauen würden, wie wir Programme schreiben, würde der erstbeste Specht unsere Zivilisation zerhacken."
In den allermeisten Fällen sitzt der Bug etwa 40 cm vor dem Monitor!
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
Forumregeln
|
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
Alle Zeitangaben in WEZ +2. Es ist jetzt 12:53:45 Uhr.
|