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 ::

TYPO3 Kochbuch

TYPO3 Kochbuch 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 > PHP Grundlagen

PHP Grundlagen Hier kann über grundlegende Probleme oder Anfängerschwierigkeiten diskutiert werden

Antwort
 
Themen-Optionen Ansicht
  #21  
Alt 04.12.2013, 11:35:34
tsunamitsunami tsunamitsunami ist offline
Junior Member
 
Registriert seit: Dec 2005
Alter: 48
Beiträge: 236
AW: Nummerierung mit Jahreszahl - sortierungsproblem

Komando zurück. Bei asc tuts es wie gewollt, bei desc:
20101
20102
20103
...
20111
20112
20113
...
20121
20123
...

Geändert von tsunamitsunami (04.12.2013 um 11:53:49 Uhr)
Mit Zitat antworten
  #22  
Alt 04.12.2013, 12:02:24
DokuLeseHemmung DokuLeseHemmung ist offline
SELFPHP Experte
 
Registriert seit: Jun 2008
Alter: 13
Beiträge: 2.269
AW: Nummerierung mit Jahreszahl - sortierungsproblem

Zitat:
order by LEFT(`nummer`,4),CAST(SUBSTRING(`nummer`,5) as SIGNED) asc;
In deinem Feld `nummer` befinden sich 2 verschiedene Informationen.
Einmal ein Jahr und einmal eine Reihenfolgeinformation.

Das ist ein massiver Verstoß gegen die erste Normalform:
Zitat:
Die 1. Normalform
Definition:
Ein Relationstyp ist in der 1. Normalform, wenn alle Attribute maximal einen Wert haben. Am Kreuzungspunkt einer Spalte mit einer Reihe darf also maximal ein Datenwert stehen. Das Nichtvorhandensein von Daten ist zulässig.
Aus: http://reeg.junetz.de/DSP/node7.html

Bei dir sind es aber 2 Werte!

Und daraus resultieren bei dir auch die Probleme. Selbst wenn du es irgendwie hingefrickelt bekommst, bleibt es doch ein Performancetaktischer Albtraum.
Mit Zitat antworten
  #23  
Alt 04.12.2013, 12:03:19
tsunamitsunami tsunamitsunami ist offline
Junior Member
 
Registriert seit: Dec 2005
Alter: 48
Beiträge: 236
AW: Nummerierung mit Jahreszahl - sortierungsproblem

So nun für alle Interesserten die komplette Lösung:

PHP-Code:
SELECT `einsatz_idFROM `testsortierungorder by LEFT(`einsatz_id`,4desc,CAST(SUBSTRING(`einsatz_id`,5) as SIGNEDdesc 
bzw.

PHP-Code:
SELECT `einsatz_idFROM `testsortierungorder by LEFT(`einsatz_id`,4asc,CAST(SUBSTRING(`einsatz_id`,5) as SIGNEDasc 
Wusste auch nicht, dass man bei zwei Sortierbedingungen zwei Richtungen vorgeben kann.
Vielleicht gehts anderen auch so. Danke!

Wieso zwei Werte? Wie geschrieben habe ich ein update auf die Spalte Nummer gemacht. Da drinne steht nun eine Zahl nach Schema x. Nichts mit zusammenbauen oä. Ein integer. Und aktuell läufts schnell.
Mit Zitat antworten
  #24  
Alt 04.12.2013, 12:20:14
DokuLeseHemmung DokuLeseHemmung ist offline
SELFPHP Experte
 
Registriert seit: Jun 2008
Alter: 13
Beiträge: 2.269
AW: Nummerierung mit Jahreszahl - sortierungsproblem

Zitat:
Wieso zwei Werte? Wie geschrieben habe ich ein update auf die Spalte Nummer gemacht. Da drinne steht nun eine Zahl nach Schema x. Nichts mit zusammenbauen oä. Ein integer.
Naja....
Hier behandelst du es, als wären es 2 Werte:
Zitat:
order by LEFT(`einsatz_id`,4) desc,CAST(SUBSTRING(`einsatz_id`,5) as SIGNED) desc
Du trennst zwischen Jahr und laufender Zahl.
Du spaltest den Wert.
Wie auch immer du es begründen magst, es ist ein Verstoß gegen die erste Normalform.


Zitat:
Und aktuell läufts schnell.
Noch....
Und vielleicht reichts wirklich für dieses Projekt, bis zum Ende seiner Zeit.
Was ist mit dem nächsten?
Wo vielleicht einige Millionen Datensätze verwurstet werden wollen?

Bedenke:
Wenn der Mensch einmal begriffen hat, wie ein Hammer funktioniert, dann sieht die ganze Welt plötzlich wie ein Nagel aus.
Mit Zitat antworten
Antwort

Stichworte
datenbank, jahreszahl, php, sortierung


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
Sortierungsproblem nuletianer MySQL/MySQLi 1 24.09.2009 22:12:30
nummerierung olli PHP für Fortgeschrittene und Experten 2 17.02.2004 02:16:46


Alle Zeitangaben in WEZ +2. Es ist jetzt 20:59:11 Uhr.


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


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