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 Thema bewerten
  #1 (permalink)  
Alt 19-03-2010, 11:35
teco2008
 Registrierter Benutzer
Links : Onlinestatus : teco2008 ist offline
Registriert seit: Jan 2010
Beiträge: 14
teco2008 befindet sich auf einem aufstrebenden Ast
Arrow Aufbereitung / Berechnung bereits in Query

Hallo zusammen,
ich habe eine Frage. Ist es möglich via MySQL folgendes Szenario in einer Query darzustellen:
ich habe eine Tabelle mit 8 Spalten für Ergebnisse einer Befragung, mögliche Antworten: Ja -> INT-> 1 Nein -> INT -> 0, sowie den Timestamp den ich abspeichere. Ich hätte gern eine Ausgabe, die mir den Durchschnitt aller Datensätze angibt, also quasi zunächst den Durchschnitt des jeweiligen Datensatzes bilden und dann von allen berechneten Durchschnitten den Durchschnitt.
Das wäre Teil 1 der Abfrage.

Teil 2 wäre das Gleiche jedoch sortiert nach Jahren über den Timestamp.

Am Ende ein Ergebnis:



Ist dies mit einer Abfrage möglich? Oder nur mit Kombinationen und etwas PHP?

Vielen Dank,
Grüße
Teco
Mit Zitat antworten
  #2 (permalink)  
Alt 19-03-2010, 11:42
AmicaNoctis
  Moderatorin
Links : Onlinestatus : AmicaNoctis ist offline
Registriert seit: Jul 2009
Beiträge: 5.709
Blog-Einträge: 9
AmicaNoctis sorgt für eine eindrucksvolle AtmosphäreAmicaNoctis sorgt für eine eindrucksvolle Atmosphäre
Standard

Hallo,

sieh dir mal im MySQL-Handbuch den gesamten Abschnitt "11.11. Functions and Modifiers for Use with GROUP BY Clauses" an. In 11.11.2 geht's dann um GROUP BY ... WITH ROLLUP, was genau das sein dürfte, was du im zweiten Teil deiner Frage suchst.

Gruß,

Amica
__________________
Hast du die Grundlagen zur Fehlersuche gelesen? Hast du Code-Tags benutzt?
Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
Super, danke!
Mit Zitat antworten
  #3 (permalink)  
Alt 19-03-2010, 12:58
teco2008
 Registrierter Benutzer
Links : Onlinestatus : teco2008 ist offline
Registriert seit: Jan 2010
Beiträge: 14
teco2008 befindet sich auf einem aufstrebenden Ast
Standard

Code:
SELECT SUM(frage_1), SUM(frage_2) FROM befragung GROUP BY time WITH ROLLUP;
Soll ich die Summe jeder Frage Spalte bilden?
Ich habe irgendwie Verständnisprobleme das abstrakt auf mein Problem anzuwenden? Ich könnte natürlich auch mühselig alles über mehrere Abfragen in PHP aufbereiten, aber träume schon länger von einer perfekten Vorformatierung der Query für den Einsatzzweck.
Mit Zitat antworten
  #4 (permalink)  
Alt 19-03-2010, 13:33
AmicaNoctis
  Moderatorin
Links : Onlinestatus : AmicaNoctis ist offline
Registriert seit: Jul 2009
Beiträge: 5.709
Blog-Einträge: 9
AmicaNoctis sorgt für eine eindrucksvolle AtmosphäreAmicaNoctis sorgt für eine eindrucksvolle Atmosphäre
Standard

Das kann ich dir nicht sagen, bisher kenne ich das Modell der benutzten Tabellen nicht.
__________________
Hast du die Grundlagen zur Fehlersuche gelesen? Hast du Code-Tags benutzt?
Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
Super, danke!
Mit Zitat antworten
  #5 (permalink)  
Alt 20-03-2010, 10:56
teco2008
 Registrierter Benutzer
Links : Onlinestatus : teco2008 ist offline
Registriert seit: Jan 2010
Beiträge: 14
teco2008 befindet sich auf einem aufstrebenden Ast
Standard

Hallo Amica,
das ist natürlich gar kein Problem

Code:
CREATE TABLE IF NOT EXISTS `it_test_1` (
  `id` int(5) NOT NULL AUTO_INCREMENT,
  `ip` varchar(100) NOT NULL,
  `time` int(11) NOT NULL,
  `frage_1` int(1) NOT NULL,
  `frage_2` int(1) NOT NULL,
  `frage_3` int(1) NOT NULL,
  `frage_4` int(1) NOT NULL,
  `frage_5` int(1) NOT NULL,
  `frage_6` int(1) NOT NULL,
  `frage_7` int(1) NOT NULL,
  `frage_8` int(1) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 COMMENT='Herzinsuffizienz Test' AUTO_INCREMENT=138 ;
Ich gebe zu, sehr einfach gehalten. Aber um die benötigten Daten darzustellen, denke ich, ausreichend.
Mit Zitat antworten
  #6 (permalink)  
Alt 20-03-2010, 11:53
AmicaNoctis
  Moderatorin
Links : Onlinestatus : AmicaNoctis ist offline
Registriert seit: Jul 2009
Beiträge: 5.709
Blog-Einträge: 9
AmicaNoctis sorgt für eine eindrucksvolle AtmosphäreAmicaNoctis sorgt für eine eindrucksvolle Atmosphäre
Standard

Hallo,

ich würde diese DB erstmal normalisieren. Für jede Frage eine Spalte anzulegen, halte ich für kein gutes DB-Design. Ich schlage vor, du machst eine Fragetabelle, eine Benutzertabelle und eine Fragebogentabelle, die als n:m-Relation zwischen den beiden fungiert.

Gruß,

Amica
__________________
Hast du die Grundlagen zur Fehlersuche gelesen? Hast du Code-Tags benutzt?
Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
Super, danke!
Mit Zitat antworten
  #7 (permalink)  
Alt 20-03-2010, 12:27
teco2008
 Registrierter Benutzer
Links : Onlinestatus : teco2008 ist offline
Registriert seit: Jan 2010
Beiträge: 14
teco2008 befindet sich auf einem aufstrebenden Ast
Standard

Hallo Amica,
für den Anwendungszweck viel zu aufwendig. Das wäre ja eine dynamische Lösung. Sowohl Fragen als auch der Test generell wird nie wieder verändert.
Meine Idee wäre jetzt folgende: ich addiere alle Fragespalten, da JA eine 1 repräsentiert. Dann ermittle ich die Anzahl an Datensätzen und multipliziere dies mit der Anzahl an Fragen.
Wäre das eine halbwegs intelligente Vorgehensweise?
Nur die Kategorisierung nach Jahren ist mir noch unklar.
Mit Zitat antworten
  #8 (permalink)  
Alt 20-03-2010, 12:48
AmicaNoctis
  Moderatorin
Links : Onlinestatus : AmicaNoctis ist offline
Registriert seit: Jul 2009
Beiträge: 5.709
Blog-Einträge: 9
AmicaNoctis sorgt für eine eindrucksvolle AtmosphäreAmicaNoctis sorgt für eine eindrucksvolle Atmosphäre
Standard

Das mit der Addition klingt vernünftig. Wie du die Gruppierung nach Jahren erreichst, dazu hatte ich dich schon auf Abschnitte im Handbuch verwiesen.
__________________
Hast du die Grundlagen zur Fehlersuche gelesen? Hast du Code-Tags benutzt?
Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
Super, danke!
Mit Zitat antworten
Antwort

Lesezeichen


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

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Bereits eingetragene Scripts FitzThomas Webmaster 1 28-11-2008 10:17
css bereits im php zuweisen tobydom HTML, JavaScript, AJAX, jQuery, CSS, Bootstrap, LESS 11 10-01-2006 12:20
eingabefeld bereits ausgefüllt mi2g HTML, JavaScript, AJAX, jQuery, CSS, Bootstrap, LESS 3 09-08-2005 10:57
Mitgliederscript - Bereits vergeben MarkoH Jobgesuche 0 21-03-2005 13:25
Bereits eingetragenes sortieren.. Querzoss SQL / Datenbanken 3 04-04-2002 13:27

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 21:11 Uhr.