Ich habe eine Datenbank in MySQL. Die Datenbank enthält drei Tabellen wie "Schema", "Projekt", "Schema_Projekt". Die Hauptentitäten sind Schema, Projekt und ich verwende das Schema_Projekt, um die Beziehung "Viele zu Viele" zwischen Schema und Projekt herzustellen. Die folgenden Tabellen sind Felder und Daten
------scheme----------------------
schemeid scheme_name
1 DWSS
2 Food and sec
3 DRM
4 VST
------------------------------------
Ein anderer Tisch
-------project----------------------
projectid project_name
1 WASH
2 WHH
3 SSS
------------------------------------
Ein anderer Tisch
----------scheme_project------------
id scheme_id projectid
1 1 2
2 1 1
3 2 1
4 3 2
5 4 1
------------------------------------
Jetzt brauche ich eine Abfrage, um die Gesamtzahl der Projekte für alle Schemata zu ermitteln. Ich habe ein Problem, wenn ich Projectid zähle. Es zeigt mir 5, aber tatsächlich sind die Projekte in diesem Fall 2. jemand hilft bitte.
2 Antworten
Sie können group by projectid
wie folgt
select scheme_id, count(*) as total_projects
from scheme_project
group by projectid
Sie müssen GROUP BY
folgendermaßen verwenden:
SELECT COUNT(*) as Total,p.project_name, s.scheme_name FROM scheme s
INNER JOIN scheme_project ON sp.scheme_id = s.schemeid
INNER JOIN project p ON p.projectid = sp.projectid
GROUP BY p.project_name, s.scheme_name
Dies gibt Ihnen zurück, wie viele projects
in einem scheme
aufgeführt sind.
Neue Fragen
php
PHP ist eine weit verbreitete, übergeordnete, dynamische, objektorientierte und interpretierte Skriptsprache, die hauptsächlich für die serverseitige Webentwicklung entwickelt wurde. Wird für Fragen zur PHP-Sprache verwendet.