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

Webseiten professionell erstellen

Webseiten professionell erstellen 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 27.05.2013, 16:15:42
flare flare ist offline
Anfänger
 
Registriert seit: May 2013
Alter: 39
Beiträge: 3
Abwechselnde sortierung (komplex)

Hi,

seit Tagen verzweifle ich an dieser Lösung.. folgendes Problem:

Ich habe eine Tabelle mit 300.000 Personen, die jeweils einem Land zugeordnet sind. Es gibt z.B. 50.000 deutsche, 5.000 Österreicher, 200 Inder, 15.000 Russen etc.
Jede dieser Personen hat ein Beruf. Z.B. sind 2.000 deutsche Buchhalter, 40 sind Sportler, 5.000 sind Bauarbeiter etc.

Jetzt möchte alle deutschen auflisten, die dann abwechselnd angezeigt werden. beispiel:

Code:
Jan	Bauarbeiter
Jens	Sportler
Moriz	Buchhalter
Jenny	Bauarbeiterin
Micha	Sportler
Olga	Buchhalterin
etc.
Ich habe zwar Lösungen für 2 Unterschiedliche Werte gefunden (nach geschlecht) aber hier gibts 30 unterschiedliche beurfe, weshalb das nicht wirklich geht.

Ich habe auch überlegt die sortierung pro Beruf zwischenzuspeichern, aber da kommt man schnell auf einige Millionen Datensätze und die sortierung ändert sich alle 10 Minuten, weil der Abfrage noch die popularität der Personen beobachtet wird.

Kann mir da jemand helfen?

Danke und viele Grüße
Flare
Mit Zitat antworten
  #2  
Alt 27.05.2013, 16:47:41
Benutzerbild von meikel (†)
meikel (†) meikel (†) ist offline
SELFPHP Guru
 
Registriert seit: Dec 2003
Ort: Erfurt
Alter: 75
Beiträge: 4.001
AW: Abwechselnde sortierung (komplex)

Du hast vergessen, das create table und ein paar Beispieldatensätze zu posten.

Bezüglich der Nationalitäten hoffe ich doch, daß es dafür Spalte gibt, nach der man sieben kann.
Mit Zitat antworten
  #3  
Alt 27.05.2013, 19:50:39
flare flare ist offline
Anfänger
 
Registriert seit: May 2013
Alter: 39
Beiträge: 3
AW: Abwechselnde sortierung (komplex)

Hi, natürlich, sry.

Code:
-- Exportiere Struktur von Tabelle personen
CREATE TABLE IF NOT EXISTS `personen` (
  `id` int(10) NOT NULL AUTO_INCREMENT,
  `name` varchar(50) DEFAULT NULL,
  `country` char(2) DEFAULT NULL,
  `beruf_id` tinyint(4) DEFAULT NULL,
  `bekanntheit` int(10) DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `country` (`country`),
  KEY `beruf_id` (`beruf_id`),
  KEY `bekanntheit` (`bekanntheit`)
) ENGINE=MyISAM AUTO_INCREMENT=18 DEFAULT CHARSET=utf8;

-- Exportiere Daten aus Tabelle personen: 1 rows
/*!40000 ALTER TABLE `personen` DISABLE KEYS */;
INSERT INTO `personen` (`id`, `name`, `country`, `beruf_id`, `bekanntheit`) VALUES
	(1, 'John', 'DE', 1, 25),
	(2, 'John', 'DE', 1, 25),
	(3, 'Jens', 'DE', 3, 25),
	(4, 'Nina', 'DE', 3, 100),
	(5, 'Nico', 'AT', 2, 25),
	(6, 'Alina', 'DE', 1, 25),
	(7, 'Jenny', 'AT', 2, 25),
	(8, 'Andy', 'DE', 2, 25),
	(9, 'Sandra', 'DE', 4, 25),
	(10, 'Kevin', 'DE', 1, 25),
	(11, 'Josh', 'DE', 3, 25),
	(12, 'Nelson', 'DE', 5, 100),
	(13, 'Sally', 'AT', 2, 25),
	(14, 'Mike', 'DE', 1, 25),
	(15, 'Janta', 'CH', 2, 25),
	(16, 'Kelvin', 'DE', 5, 25),
	(17, 'Peggy', 'DE', 5, 25);
Mit Zitat antworten
  #4  
Alt 30.05.2013, 21:29:11
Benutzerbild von meikel (†)
meikel (†) meikel (†) ist offline
SELFPHP Guru
 
Registriert seit: Dec 2003
Ort: Erfurt
Alter: 75
Beiträge: 4.001
AW: Abwechselnde sortierung (komplex)

Zitat:
Zitat von flare Beitrag anzeigen
Hi, natürlich, sry.
Danke.
Zitat:
Jetzt möchte alle deutschen auflisten,
Code:
SELECT ... WHERE `country`='DE' ...
Zitat:
die dann abwechselnd angezeigt werden.
Huch?
Mit Zitat antworten
  #5  
Alt 30.05.2013, 22:22:58
flare flare ist offline
Anfänger
 
Registriert seit: May 2013
Alter: 39
Beiträge: 3
AW: Abwechselnde sortierung (komplex)

Huhu, genau das abwechselnde ist die schwierigkeit an der ganzen sache.

Mit "abwechselnd" damit sind die Berufe gemeint wie in dem Beispiel.

Code:
Jan	Bauarbeiter
Jens	Sportler
Moriz	Buchhalter
Jenny	Bauarbeiterin
Micha	Sportler
Olga	Buchhalterin
etc.
Hier kann man leider nicht "ORDER BY beruf" machen, denn sonst sieht die Ausgabe so aus:

Sportler
Sportler
.....
Buchhalter
Buchhalter
Buchhalter
....
Bauarbeiterin
....
etc.

gewollt ist aber:
Sportler
Buchhalter
Bauarbeiterin
Sportler
Buchhalter
Bauarbeiterin
Sportler
Buchhalter
Bauarbeiterin
.....

abwechselnd halt.

Hier gibt es ein Beispiel mit Geschlechter: http://www.ureader.de/msg/13455143.aspx

nur kann ich das leider nicht anwenden, weil ich mehr als 20 unterschiedliche Berufe habe..
Jetzt köntne man das ganze mit 5-10 querys etc. lösen, das wäre aber nicht optimal.. dasher such ich nach einer optimalen Lösung.
Jetzt könnte man sagen man kann pro Land alles einmal durchsotieren und als cache speichern.. nur hat man dann 60 Länder * 20 Berufe * 500.000 Personen an Datensätzen und man kann das nicht mal alle 10 Minuten machen.

Viele Grüße
Flare
Mit Zitat antworten
  #6  
Alt 31.05.2013, 05:36:47
Benutzerbild von meikel (†)
meikel (†) meikel (†) ist offline
SELFPHP Guru
 
Registriert seit: Dec 2003
Ort: Erfurt
Alter: 75
Beiträge: 4.001
AW: Abwechselnde sortierung (komplex)

Zitat:
Zitat von flare Beitrag anzeigen
Huhu, genau das abwechselnde ist die schwierigkeit an der ganzen sache.
Mit "abwechselnd" damit sind die Berufe gemeint wie in dem Beispiel.
Juhu. Endlich wirste konkret.

Zitat:
Hier gibt es ein Beispiel mit Geschlechter: http://www.ureader.de/msg/13455143.aspx
Andreas Kretschmer hatte sich dazu eigentlich genauer geäußert.

Zitat:
nur kann ich das leider nicht anwenden, weil ich mehr als 20 unterschiedliche Berufe habe..
Das ist doch nur für die Ausgabe relevant. Oder hattest Du vor, "60 Länder * 20 Berufe * 500.000 Personen" auszugeben?

Zitat:
Jetzt köntne man das ganze mit 5-10 querys etc. lösen, das wäre aber nicht optimal..
Und wieso nicht? Es gibt doch mysqli::multi_query() incl. Beispiel und Userbeispielen.

Allerdings mußt Du dabei beachten, daß MySQL dann mehrere Ergebismengen u/o Returnwerte sequentiell anbietet.
Code:
INSERT INTO tabelle (col1, col2) VALUES (5,8); # keine Ergebnismenge sondern TRUE
SELECT col1 FROM tabelle WHERE col2=8; # Ergebnismenge
DELETE FROM tabelle WHERE col2=8; # keine Ergebnismenge sondern TRUE
Bei Singlequeries gilt das:
Bei INSERT, UPDATE, REPLACE or DELETE gibts TRUE, wenn es keinen Syntaxmecker gab. FALSE kommt, wenn MySQL mit der Abfrage ein Problem hat.
Wieviele Einträge/Veränderungen es gab, liefert mysqli::affected_rows.
Bei SELECT ist der Rückgabewert entweder die Ergebnismenge oder FALSE, wenns Mecker gab. Die Anzahl liefert mysqli_result::num_rows.

Das ist nun beim Multiquery etwas anders. mysqli::store_result() liefert die einzelnen Ergebnisse oder Ergebnismengen.
Die Anzahl beim multi_query SELECT dürfte mysqli_result::num_rows liefern. Ob es, wenn ja - wo, ne affected_rows Variable gibt, weiß ich nicht.
Mit Zitat antworten
Antwort


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
Sortierung Oskar MySQLi/PDO/(MySQL) 1 12.11.2009 19:27:47
Sortierung über 2 Felder noreux MySQLi/PDO/(MySQL) 2 19.02.2009 11:02:46
Sortierung nach Datum mit Order by nach Konvertierung ins Deutsche Format falsch carlos7262 MySQLi/PDO/(MySQL) 2 12.04.2007 09:43:32
"Natürliche" Sortierung möglich? Skyman MySQLi/PDO/(MySQL) 8 09.06.2004 01:23:58
im iframe umgekehrte Sortierung beim Opera Ernesto PHP für Fortgeschrittene und Experten 1 30.10.2002 16:15:13


Alle Zeitangaben in WEZ +2. Es ist jetzt 19:10:17 Uhr.


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


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