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

Die RIGID-FLEX-Technologie
Die RIGID-FLEX-TechnologieDie sogenannte "Flexible Elektronik" , oftmals auch als "Flexible Schaltungen" bezeichnet, ist eine zeitgemäße Technologie zum Montieren von elektronischen Schaltungen.

06.12.2018 | Berni

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


 

Aktuelle PHP Scripte

Newsmanager

Der Newsmanager ist ein Newssystem und Newsletter in einem. Mit WYSIWYG Editor und E-Mail import aus einer bestehenden MySql Datenbank sowie dynamische Kategorien / Themen Filter.

11.09.2019 Stephan_1972 | Kategorie: PHP/ News
Modelmanager

Der Modelmanager ist ein Webtool für Fotografen, kann als komplette Homepage oder als Webtool installiert werden.

11.09.2019 Stephan_1972 | Kategorie: PHP/ Webservice
ContentLion - Open Source CMS ansehen ContentLion - Open Source CMS

ContentLion ist ein in PHP geschriebenes CMS, bei dem man Seiten, Einstellungen usw. in Ordnern lagern kann

22.08.2019 stevieswebsite2 | Kategorie: PHP/ CMS
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 22:06 Uhr.