SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

Das Zend Framework

Das Zend Framework zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > MySQLi/PDO/(MySQL)

MySQLi/PDO/(MySQL) Anfänger, Fortgeschrittene oder Experten können hier Fragen und Probleme rund um MySQLi/PDO/(MySQL) diskutieren

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 01.10.2010, 18:04:34
Ahiru Ahiru ist offline
Anfänger
 
Registriert seit: Oct 2010
Alter: 52
Beiträge: 1
Gewinnermittlung mit Group by und Quartil

Ich habe folgende Tabelle:

OrderID
ProduktID
RegionsID
Restmenge
Preis
Tagesverkauf


Was ich gerne hätte wäre:
Eine Tabelle gruppiert nach ProduktID und RegionsID mit dem jeweiligen (zu erwartenden) Gewinn für dieses Produkt und diese Region. Dabei soll folgendes zugrunde gelegt werden:

Der Preis ist der Minimalpreis für das Produkt in dieser Region, wobei nur Orders mit einer Restmenge > 5 gezählt werden sollen

Code:
select 
ProduktID, 
RegionsID 
min(Preis) as MINP 
from Verkaufsdatenbank 
where Restmenge>5 
group by ProduktID, RegionsID 
order by min(Preis) desc
Die Verkaufsmenge soll dem unteren Quartil entsprechen, also praktisch der Wert TOP 25% der Tagesverkäufe sein:

Code:
set @b=1;
select @b:=ceil(count(orderID)/4) 
from Verkaufsdatenbank 
where `ProduktID` = 1236 and RegionsID=30000142;
PREPARE STMT FROM 'select `Tagesverkauf`as erwarteter_Tagesverkauf 
from Verkaufsdatenbank where `ProduktID` = 1236
and RegionsID=30000142 
order by Tagesverkauf desc 
LIMIT ?,1';
EXECUTE STMT USING @b;
Wie man sieht, muss ich allerdings bei meiner Lösung noch per Hand die ProduktID und RegionsID eintragen :-(

Wie mache ich es, dass er mir jetzt eine Tabelle zusammenbaut, die dann so aussieht:

ProduktID
RegionsID
erwarteter_Tagesverkauf
Gewinn


Gruppiert nach ProduktID und RegionsID sortiert nach Gewinn desc

Ich verzweifele schon - sitze jetzt gut 2 Tage daran.
Mit Zitat antworten
  #2  
Alt 04.10.2010, 22:22:12
thomas_w thomas_w ist offline
Junior Member
 
Registriert seit: Aug 2010
Alter: 14
Beiträge: 395
AW: Gewinnermittlung mit Group by und Quartil

Also komplett verstanden habe ich das Problem noch nicht, deshalb aus dem Stegreif mal eine (Teil-)Lösung. Ich hoffe es ist kein Tippfehler drin..

Code:
SELECT produktid, regionsid, CEIL(COUNT(orderID)/4) AS tagesverkauf
  FROM verkaufsdatenbank
 GROUP BY produktid, regionsid
ORDER BY tagesverkauf DESC;
Grüße
Thomas
__________________
Die SQL-Backstube
Bietet Rezepte, Lösungen und ausführliche Beispiele rund um gesundes SQL und zufriedene Datenbanken.
Mit Zitat antworten
Antwort

Stichworte
group by, quartil


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

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 aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Count und Group By Oskar MySQLi/PDO/(MySQL) 13 15.02.2010 01:34:02
Using filesort / temporary - JOIN, GROUP BY, ORDER BY ryda MySQLi/PDO/(MySQL) 4 08.05.2009 23:06:05
Günstigster Preis mit GROUP WAY_KOW MySQLi/PDO/(MySQL) 0 11.10.2007 08:15:26
Subquery und GROUP BY Heinrich MySQLi/PDO/(MySQL) 2 10.06.2007 23:42:28
Problem mit GROUP bei mySQL-Abfrage c4 PHP für Fortgeschrittene und Experten 0 03.06.2003 17:33:52


Alle Zeitangaben in WEZ +2. Es ist jetzt 12:28:53 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.


© 2001-2024 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt