Thread Verfasser: John Doe
Thread ID: 759
Thread Info
Es gibt 10 Beiträge zu diesem Thema, und es wurde 4597 Mal angesehen.
 Thema drucken
sql - Abfrage virtueller Aktienmarkt
John Doe
Brauche aus einer Tabelle mit den Tagesständen von Aktienmärkten den jeweils letzten Stand für alle Märkte. Die Stände sind nicht sortiert gespeichert, so dass die Reihenfolge immer unterschiedlich sein kann. Daher geht es nicht die letzten XX-Datensätze zu lesen.

Tabelle:
stockid, stockdatetime,stockname,stockactvalue, stocklastvalue,...

In Stockname ist der Markt-Name des Aktienmarktes, stockdatetime = zeitstempel, stockactvalue der Stand des Marktes.

Es werden nicht alle Marktstände nach einander gespeichert, da immer nur der Tageshöchststand gespeichert wird.
Information:
PHP Version: Nicht ausgewählt •  MySQL Version: Nicht ausgewählt •  PHP-Fusion: Nicht ausgewählt
 
SuNflOw
Hallo,
ich habe es nicht ganz verstanden. Kannst du einen Auszug aus deiner Tabelle hier posten und dann markieren was du willst?

lG,
SuN
________________________________________________
I got my swim trunks and my Flippie-Floppies *-*
Information:
PHP Version: Nicht ausgewählt •  MySQL Version: Nicht ausgewählt •  PHP-Fusion: Nicht ausgewählt
 
John Doe
Ich lese die Namen der einzelnen Märkte aus der Tabelle aus:
SELECT stockname FROM ".DB_JSH_VSM_STOCKNAME." GROUP BY `stockname` ORDER BY `stockname`

Für jeden Datensatz muss ich nun einzelnd die letzten Einträge des Gesamtwertes des Marktes aus der gleichen Tabelle lesen.

SELECT stockid, stockname, stockdatetime, stock....FROM ".DB_JSH_VSM_STOCKNAME." WHERE `stockname`='$gruppe' ORDER BY `stockid` DESC LIMIT 1

$gruppe ist aus Ergebnis der 1. Abfrage genommen. Statt stockid würde bei Abfrage 2 auch stockdatetime (größter Wert) gehen.

Dies wollte ich elegant in einer Abfrage lösen.
Hab mit DISTINCT, GROUP BY usw. probiert, aber kein richtiges Ergebnis bekommen.
Information:
PHP Version: Nicht ausgewählt •  MySQL Version: Nicht ausgewählt •  PHP-Fusion: Nicht ausgewählt
 
SuNflOw
Hallo,
probier mal:

SELECT *, MAX(stockid) FROM ".DB_JSH_VSM_STOCKNAME." GROUP BY stockname

________________________________________________
I got my swim trunks and my Flippie-Floppies *-*
Information:
PHP Version: Nicht ausgewählt •  MySQL Version: Nicht ausgewählt •  PHP-Fusion: Nicht ausgewählt
 
John Doe
Nein geht nicht.
Information:
PHP Version: Nicht ausgewählt •  MySQL Version: Nicht ausgewählt •  PHP-Fusion: Nicht ausgewählt
 
SuNflOw
Sorry aber geht das genauer?
________________________________________________
I got my swim trunks and my Flippie-Floppies *-*
Information:
PHP Version: Nicht ausgewählt •  MySQL Version: Nicht ausgewählt •  PHP-Fusion: Nicht ausgewählt
 
John Doe
Ich muss ein Beispiel inkl. Inhalt der Tabelle zeigen, sonst wird das nichts.
Kommt bei Gelegenheit.

Zusammengefügt am 03. Februar 2016 um 21:07:56:
Wer sich das mal anschauen will. Hier als Film ohne Ton.
http://www.jsharms.de/web_a/docs/prob...em_vsm.mp4

Heute ist z. B. bei den letzten Einträgen GAME unter den 5 letzten doppelt. Danach stimmen die Werte nicht mehr.
Links die richtigen Werte. In der Tabell nach der o.g. Abfrage die falschen Werte.
Bearbeitet von John Doe am 03. Februar 2016 20:07:56
Information:
PHP Version: Nicht ausgewählt •  MySQL Version: Nicht ausgewählt •  PHP-Fusion: Nicht ausgewählt
 
SuNflOw
Hallo,
ich habe einen neuen Query ausgetüftelt vielleicht geht der:

SELECT * FROM (SELECT * FROM ".DB_JSH_VSM_STOCKNAME." ORDER BY stockname, stockvalue DESC) as x GROUP BY stockname

________________________________________________
I got my swim trunks and my Flippie-Floppies *-*
Information:
PHP Version: Nicht ausgewählt •  MySQL Version: Nicht ausgewählt •  PHP-Fusion: Nicht ausgewählt
 
John Doe
Geht auch nicht. Aber lass gut sein. Bei der kleinen Anzahl von Märkten gehts auch so. Gibt wichtigeres für dich zu tun. Mach lieber noch ein paar Themes Smile
Information:
PHP Version: Nicht ausgewählt •  MySQL Version: Nicht ausgewählt •  PHP-Fusion: Nicht ausgewählt
 
SuNflOw
Na gut Sad Tut mir leid...

Und bin ich schon dabei razz
________________________________________________
I got my swim trunks and my Flippie-Floppies *-*
Information:
PHP Version: Nicht ausgewählt •  MySQL Version: Nicht ausgewählt •  PHP-Fusion: Nicht ausgewählt
 
Springe ins Forum: