sup123
Goto Top

Datenbankabfrage - Werte vergleichen und zaehlen.

Datenbankabfrage - Werte vergleichen und zählen.

Wie kann man das machen?

40e222d3ceff932fad2ed0ec90b7d078-sql

Beispiel-Aufgabe 1.

Die Telefonnumer von User 1 und 3 für April Monat vergleichen und zählen.

Ergebnis: 1
Denn 2 gleiche Telefonnummer gefunden worden.

Beispiel-Aufgabe 2.

Die Telefonnumer von User 1 und 2 für April Monat vergleichen und zählen.

Ergebnis: 0
Denn keine gleiche Telefonnummer gefunden worden.

Danke voraus.

Content-Key: 88740

Url: https://administrator.de/contentid/88740

Printed on: April 20, 2024 at 14:04 o'clock

Member: pitti08
pitti08 May 30, 2008 at 20:38:38 (UTC)
Goto Top
Mit der Tabelle? Gar nicht.
User ist ein in MySQL reserviertes Wort. Mit der Tabelle wird es Probleme bei der Abfrage geben.
Welches Ergebnis soll denn bei drei gleichen Telefonnummern ausgegeben werden?
Member: Arano
Arano May 31, 2008 at 13:20:38 (UTC)
Goto Top
Moin

User ist ein in MySQL reserviertes Wort. Mit der Tabelle wird es Probleme bei der Abfrage geben.
Das ist nicht korrekt !
Richtig ist, das es zu Problemen kommen KANN, dies aber auch nur dann, wenn die von MySQL reservierten Wörter als Spaltennamen verwendet werden und diese bei einer Abfrage nicht in Backticks (`) stehen.
So würden sich auch Spaltennamen wie "alter" oder "order" verwenden lassen.
  SELECT `user`,`alter`,`order`
    FROM `tabelle`
ORDER BY `oder` DESC


Zum Thema:
Ich verstehe leider nicht was du als Ergebnis haben möchtest !?


Schönen Samstag noch
Arano
Member: sup123
sup123 Jun 03, 2008 at 17:03:25 (UTC)
Goto Top
Welches Ergebnis soll denn bei drei gleichen Telefonnummern ausgegeben werden?

Antwort: 3. Weil insgesamt drei gleche Telefonnummern sind.
Member: sup123
sup123 Jun 03, 2008 at 17:13:46 (UTC)
Goto Top
Hallo Moin,

Als Ergebnis möchte ich folgenes haben:

Unter Tabelle kommt ein Text rein. So etwa:
User 1 und 3 haben 3 Duplikaten (Telefonnummern).
User 1 und 4 haben 10 Duplikaten.
User 1 und 5 haben 6 Duplikaten.


Schönen Abend noch.
Member: sup123
sup123 Jun 05, 2008 at 10:33:33 (UTC)
Goto Top
Die Spalte User bzw IDUser hat SQL-Typ: bigint(11) also das ist kein Wort sonder Zahl.

Wenn ich so mache, dann werden nur von IDUser 1: Datum und Telefon aufgelistet und keine duplikaten gezählt.

SELECT `IDUser`,`Datum`,`Telefon`
FROM `Tabelle`
ORDER BY `Telefon` DESC
Member: Arano
Arano Jun 05, 2008 at 13:00:59 (UTC)
Goto Top
Sorry, aber ich glaube das übersteigt meine Fähigkeiten !

wie gefällt dir denn noch die Ausgabe von
  SELECT `Telefon`, COUNT(`IDUser`) AS `user_gasmat`
    FROM `Tabelle`
GROUP BY `Telefon`
Sollte auf obige Tabelle dieses Ergebnis liefern:
Telefon user_gesamt
456756778 3
556796221 1
Member: Arano
Arano Jun 05, 2008 at 17:48:49 (UTC)
Goto Top
Sorry, aber ich glaube das übersteigt meine Fähigkeiten !
Oder vielleicht auch nicht ! face-smile

Ich tue ja dann manchmal so als wäre es mein Problem und probiere weiter herum.
Wenn ich mich jetzt nicht irre, habe ich es doch noch hin bekommen.
MySQL-Tabelle
u_id datetime tele
1 2008-04-21 16:15:24 456756778
2 2008-04-21 16:11:00 556796221
3 2008-04-28 16:47:00 456756778
4 2008-05-23 09:46:00 456756778
MySQL-Query
  SELECT DATE_FORMAT(`datetime`,'%Y-%m') AS `year_month`,  
         `tele`,
         COUNT(`u_id`)                   AS `user_gesamt`
    FROM `sup123`
GROUP BY `tele`,`year_month`
ORDER BY `datetime`;
MySQL-Result
year_month tele user_gesamt
2008-04 556796221 1
2008-04 456756778 2
2008-05 456756778 1

Hoffe das stimmt nun so.

Gruß Tobias
Member: Biber
Biber Jun 13, 2008 at 14:48:01 (UTC)
Goto Top
Moin sup123,

ich habe Deine Frage mal von "PHP" nach "Datenbanken" verschoben.

Ich finde, Arano hat soviel Zeit, Sorgfalt und Mühe in seine Lösungsvorschläge gesteckt, dass es durchaus eine Antwort wert sein sollte.

Bitte gib mal Feedback, ob es geholfen hat oder Du selbst eine andere Lösung gefunden hast oder wie der Status jetzt ist.

Danke
Biber