php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > SQL / Datenbanken
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


SQL / Datenbanken Probleme mit SQL? Hier könnt ihr eure Fragen zu SQL (MySQL, PostgreSQL, MS-SQL und andere ANSI-SQL Server) los werden.

Antwort
 
LinkBack Themen-Optionen Bewertung: Bewertung: 1 Stimmen, 5,00 durchschnittlich.
  #1 (permalink)  
Alt 11-09-2007, 10:59
holly123
 Newbie
Links : Onlinestatus : holly123 ist offline
Registriert seit: Aug 2007
Beiträge: 26
holly123 ist zur Zeit noch ein unbeschriebenes Blatt
Question MySQL: tabelle: mehrere count über mehrere spalten...

hi leute,

bin schon wieder da und diesmal mit einem mysql-query-problem:

ich habe eine tabelle mit diversen termin-einträgen. dabei gibt es termine für einzelne benutzer und oder benutzer-gruppen. ich möchte die gesamtanzahl der termine der einzelnen benutzer und die gesamtanzahl der termine der benutzergruppen für einen tag auflisten...

die tabelle schaut so aus:

PHP-Code:

id   benutzer_id  termin_id    typ  datum
1    1            1            e    2007
-01-01
2    5            2            e    2007
-01-01
3    3            3            g    2007
-01-03
4    6            3            g    2007
-01-03
5    1            4            e    2007
-01-03
6    2            5            e    2007
-01-04
7    4            6            e    2007
-01-10
8    3            7            g    2007
-01-25
9    2            7            g    2007
-01-25
10    5            8            g    2007
-01-25
11    9            8            g    2007
-01-25 
typ: e.... einzelner benutzer
typ: g.... mehrere benutzer gehören zum gleichen termin


uns so solls nach dem query ausschauen:

PHP-Code:

id   anzahl_einzelnetermine   anzahl_gruppentermine    datum
1    2                        0                        2007
-01-01
2    1                        1                        2007
-01-03
3    1                        0                        2007
-01-04
4    1                        0                        2007
-01-10
5    0                        2                        2007
-01-25 
ich habe schon mit count() und group by... probiert, aber ich versehts irgendwie nicht. bin noch nicht so versiert in mysql

bitte um hilfe!!!

lg,
holly123
Mit Zitat antworten
  #2 (permalink)  
Alt 11-09-2007, 11:02
ghostgambler
 Master
Links : Onlinestatus : ghostgambler ist offline
Registriert seit: Jul 2004
Ort: DE - NRW
Beiträge: 4.620
ghostgambler ist zur Zeit noch ein unbeschriebenes Blatt
Standard Re: MySQL: tabelle: mehrere count über mehrere spalten...

SELECT SUM(typ = "e") AS einzelne, SUM (typ = "g") AS gruppen FROM tabelle GROUP BY datum

Die ID Spalte hat allerdings da nichts mehr drin zu suchen...
Mit Zitat antworten
  #3 (permalink)  
Alt 11-09-2007, 11:16
holly123
 Newbie
Links : Onlinestatus : holly123 ist offline
Registriert seit: Aug 2007
Beiträge: 26
holly123 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

funktioniert schon, aber nicht ganz:

die gruppen-termine sollen auch noch zusammegefasst werden.

SELECT SUM(typ = "e") AS einzelne, SUM (typ = "g") AS gruppen FROM tabelle GROUP BY datum

ergibt folgendes:


PHP-Code:

anzahl_einzelnetermine   anzahl_gruppentermine    datum
2                        0                        2007
-01-01
1                        2                        2007
-01-03
1                        0                        2007
-01-04
1                        0                        2007
-01-10
0                        4                        2007
-01-25 
es müsste quasi noch die termin_id mit verglichen werden....
Mit Zitat antworten
  #4 (permalink)  
Alt 11-09-2007, 11:55
ghostgambler
 Master
Links : Onlinestatus : ghostgambler ist offline
Registriert seit: Jul 2004
Ort: DE - NRW
Beiträge: 4.620
ghostgambler ist zur Zeit noch ein unbeschriebenes Blatt
Standard

SELECT SUM(typ = "e") AS einzelne, SUM (typ = "g") AS gruppen FROM tabelle GROUP BY datum, termin_id

Ein bisschen ausprobieren ist übrigens auch erlaubt...
Mit Zitat antworten
  #5 (permalink)  
Alt 11-09-2007, 12:14
holly123
 Newbie
Links : Onlinestatus : holly123 ist offline
Registriert seit: Aug 2007
Beiträge: 26
holly123 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

hi ghostgambler,

genau das probiere ich schon die ganze zeit... "rumprobieren" :-)

auch dein ansatz habe ich schon probiert, aber der führt auch zu nichts. jetzt wird das gleiche datum mehrmals ausgegeben...


PHP-Code:

anzahl_einzelnetermine   anzahl_gruppentermine    datum
1                        0                        2007
-01-01
1                        0                        2007
-01-01
0                        2                        2007
-01-03
1                        0                        2007
-01-03
1                        0                        2007
-01-04
1                        0                        2007
-01-10
0                        2                        2007
-01-25
0                        2                        2007
-01-25 
ich schaffs aber nicht, diese zeilen wieder zusammenzufügen...
Mit Zitat antworten
  #6 (permalink)  
Alt 11-09-2007, 12:33
ghostgambler
 Master
Links : Onlinestatus : ghostgambler ist offline
Registriert seit: Jul 2004
Ort: DE - NRW
Beiträge: 4.620
ghostgambler ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Tjo... mir fällt jetzt spontan mal wieder ein unperformantes
Code:
SELECT SUM (typ = "g") gruppen, SUM (typ = "e") einzel FROM 
(SELECT termin_id, typ, datum FROM tabelle GROUP BY datum, termin_id) GROUP BY datum
ein, aber ich würde jetzt mal spontan eher dazu raten die Tabelle zu normalisieren ... Redundanzen entfernen, dann kann man das auch ohne solch ein abartiges Konstrukt an Query ermitteln.
Mit Zitat antworten
  #7 (permalink)  
Alt 11-09-2007, 12:52
holly123
 Newbie
Links : Onlinestatus : holly123 ist offline
Registriert seit: Aug 2007
Beiträge: 26
holly123 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

dein struct klappt bei mir sowieso nicht, ich glaube meine db ist zu alt...

wärs ein ansatz, eine temporäre tabelle anzulegen und dann mit der weiterzuarbeiten?
oder klappts vielleicht mit inner join?
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Themen-Optionen
Thema bewerten
Thema bewerten:

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.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


PHP News

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni

Wissensbestand in Unternehmen
Wissensbestand in UnternehmenLebenslanges Lernen und Weiterbilden sichert Wissensbestand in Unternehmen

25.05.2018 | Berni


 

Aktuelle PHP Scripte

PHP Server Monitor

PHP Server Monitor ist ein Skript, das prüft, ob Ihre Websites und Server betriebsbereit sind.

11.09.2018 Berni | Kategorie: PHP/ Security
PHP WEB STATISTIK ansehen PHP WEB STATISTIK

Die PHP Web Statistik bietet Ihnen ein einfach zu konfigurierendes Script zur Aufzeichnung und grafischen und textuellen Auswertung der Besuchern Ihrer Webseite. Folgende zeitlichen Module sind verfügbar: Jahr, Monat, Tag, Wochentag, Stunde Folgende son

28.08.2018 phpwebstat | Kategorie: PHP/ Counter
Affilinator - Affilinet XML Produktlisten Skript

Die Affilinator Affilinet XML Edition ist ein vollautomatisches Skript zum einlesen und darstellen der Affili.net (Partnerprogramm Netzwerk) Produktlisten und Produktdaten. Im Grunde gibt der Webmaster seine Affilinet PartnerID ein und hat dann unmittelb

27.08.2018 freefrank@ | Kategorie: PHP/ Partnerprogramme
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 01:25 Uhr.