- Ad -
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 22-12-2015, 21:48
Teddyklaus
 Registrierter Benutzer
Links : Onlinestatus : Teddyklaus ist offline
Registriert seit: Dec 2012
Beiträge: 3
Teddyklaus befindet sich auf einem aufstrebenden Ast
Standard Ranking mit mehreren gleichen "Punktzahlen"

Hi,

kurz vor dem Fest noch ein kleines Problem, bei dem ich nicht einmal den Ansatz einer Lösung habe.

Ich habe eine Anwendung für den Vertrieb, der bei jedem "Verkauf" einen Datensatz in eine Vertriebstabelle schreibt. Daraus habe ich mir mit einem wilden query jetzt eine Liste gemacht, der die Verkaufzahlen pro Produkt pro Mitarbeiter und Monat listet. Gehen wir davon aus, dass der Inhalt der Liste genau so in einer MySQL-Tabelle steht. Jetzt möchte ich (besser gesagt mein Chef) ein Score pro Mitarbeiter errechnen. Als Beispiel nehme ich z.B. die letzte Spalte XX_MIG. Anzahl der Mitarbeiter sind 8. Die Zahl, die dort steht, soll beim "besten Verkäufer" mit 8 multipliziert werden, der zweitbeste mit 7, usw. der mit der kleinsten Zahl bekommt also seine Zahl mit 1 multipliziert.

Das ganze pro Spalte für jedes Produkt. Nun ist es gerade bei der letzten Spalte so, dass es die 1 sogar viermal gibt. Die Berechnung müsste lauten:

17 * 8
4 * 7
1 * 5
2 * 6
1 * 5
0 * 4
1 * 5
1 * 5

Hat einer 'ne Idee? Berechnung über php und dann in eine Hilfstabelle wegschreiben oder gleich über das select-Statement machen.

Wäre schön, wenn jemand mir das Streichholz im Kopf anzündet.
Miniaturansicht angehängter Grafiken
Ranking mit mehreren gleichen "Punktzahlen"-zwischenablage02.jpg  

Geändert von Teddyklaus (22-12-2015 um 21:50 Uhr) Grund: anderes Bild
Mit Zitat antworten
  #2 (permalink)  
Alt 28-12-2015, 16:34
Benutzerbild von fireweasel fireweasel
 Registrierter Benutzer
Links : Onlinestatus : fireweasel ist offline
Registriert seit: Sep 2008
Ort: At home
Beiträge: 840
fireweasel wird schon bald berühmt werdenfireweasel wird schon bald berühmt werden
fireweasel eine Nachricht über AIM schicken fireweasel eine Nachricht über Yahoo! schicken
Standard

Zitat:
Zitat von Teddyklaus Beitrag anzeigen
Hat einer 'ne Idee? ...
Wäre schön, wenn jemand mir das Streichholz im Kopf anzündet.
Gruppieren nach den Erfolgszahlen und anschließend die Gruppen "durchzählen". Richtige Datenbanken haben dafür Window-Funktionen, speziell RANK():
PostgreSQL: Documentation: Window Functions
https://docs.oracle.com/cd/B19306_01...nctions123.htm
Transact-SQL: RANK

Man kann wohl so etwas in MySQL-only-SQL nachbauen.
Beispiele:
SQL - Calculate Rank | 1Keydata
sql - Rank function in MySQL - Stack Overflow

Geändert von fireweasel (28-12-2015 um 17:09 Uhr)
Mit Zitat antworten
  #3 (permalink)  
Alt 06-11-2016, 16:10
ilyas
 Registrierter Benutzer
Links : Onlinestatus : ilyas ist offline
Registriert seit: Nov 2016
Beiträge: 1
ilyas befindet sich auf einem aufstrebenden Ast
Standard

es ist logich wenn das viertebeste sich vier mal wiederholt .
man muss andere parameter verwenden um gleiche werte zu ordnen
Mit Zitat antworten
Antwort

Lesezeichen

Stichworte
mysql php ranking


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

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Wieso hängt facebook GET Parameter mit "#" an und nicht mit "?" BananaJo PHP Developer Forum 10 02-07-2011 11:01
mehrere "Variationen" einer gleichen Seite fabs[NO] BRAINSTORMING PHP/SQL/HTML/JS/CSS 6 25-06-2007 14:42
Tutorial "ogin mit Hilfe von PHP und mySQL" mit mehreren Nutzern und selben Namen mardin PHP Developer Forum 5 26-07-2006 19:35
Variablen übergeben mit "form" und "img" spm1410 PHP Developer Forum 5 28-03-2005 20:46
Abfrage mit zwei "MID"'s und "BETWEEN" el_espiritu SQL / Datenbanken 8 04-04-2004 15: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

Multi-Branchen-Marktplatzsoftware 7.2.2 veröffentlicht
Multi-Branchen-Marktplatzsoftware 7.2.2 veröffentlichtDie Software ebiz-trader steht in der Version 7.2.2 zur Verfügung.

28.10.2016 | Berni

Zeit ist Geld, PC einfach selbst reparieren!
Zeit ist Geld, PC einfach selbst reparieren!Wenn der PC nicht richtig läuft, wirft sie das in Ihrem Arbeitsalltag meist zurück. Dabei können Sie einige Probleme mit relativ wenig Aufwand und ohne intime Kenntnisse Ihres Rechners selbst lösene

18.04.2016 | Berni


 

Aktuelle PHP Scripte

SMT by palle

Server &Service Monitor Tool AND Server & Service Management Tool SMT wurde von einem Administrator für Administratoren entwickelt. Es soll den Alltag mit verschiedenen Systemen vereinfachen und die richtigen Mitarbeiter über die richtigen Ereignisse b

14.11.2016 palle | Kategorie: PHP
Umfrage-Script - Abstimmen auf Ihrer Webseite ansehen Umfrage-Script - Abstimmen auf Ihrer Webseite

Das Umfrage-Script ist ein PHP-Programm zur online-Befragung oder online-Abstimmung. Es können eine oder mehrere Fragen mit den entsprechenden Auswahlantworten gestellt werden. Die Ergebnisse des Voting werden summiert und können als Balkendiagramm....

13.11.2016 j-hummel | Kategorie: PHP/ Umfragen
MySync MySQL Datenbanksynchronisierung

MySync benötigt keine ODBC-Verbindung, sondern synchronisiert die MySQL Datenbank per FTP und PHP Zugriff. Sie können beliebig viele Jobs definieren, die dann automatisch zeitgesteuert die Daten zwischen der Client und der Webdatenbank abgleichen. Außerde

08.11.2016 bjoern@ | Kategorie: MYSQL/ Database
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 03:56 Uhr.