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

Plates native PHP template system

Plates ist ein natives PHP-Vorlagensystem, das schnell, einfach zu verwenden und einfach zu erweitern ist.

24.05.2019 Berni | Kategorie: PHP/ Framework
Maqetta Open Source  HTML5-Editor ansehen Maqetta Open Source HTML5-Editor

Einen WYSIWYG-Editor zur visuellen Erstellung von Userinterfaces in HTML5 (Drag-and-Drop)

13.05.2019 Berni | Kategorie: HTML5/ EDITOR
NodeBB

NodeBB ist eine Foren-Software auf NodeJS-Basis

13.05.2019 Berni | Kategorie: PHP/ Forum PHP Software
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 05:29 Uhr.