Toon posts:

[mysql] ORDER BY .. LIMIT 5 Verkeerd om

Pagina: 1
Acties:
  • 111 views sinds 30-01-2008
  • Reageer

Verwijderd

Topicstarter
Someone shoot me!!
Ik kom er even niet uit.
Komt vast uit dat het simpel is, maar ik kan er niet opkomen (mischien te lang bezig).
Ik heb een lijst met data.
code:
1
2
3
4
5
1
4
2
5
3

Deze moet ik sorteren op volgorde (ORDER BY getal ASC). Dan heb ik
code:
1
2
3
4
5
1
2
3
4
5

dat is goed. nu moet ik de laatste 2 hebben.
als ik limit, dan pakt hij de eerste 2.
Het aantal getallen kan varieren. dus LIMIT 3,2 is niet zo'n handige optie.

  • Cavorka
  • Registratie: April 2003
  • Laatst online: 27-03-2018

Cavorka

Internet Entrepreneur

ORDER BY getal DESC LIMIT 0, 2

Of is dit onzin?

the-blueprints.com - The largest free blueprint collection on the internet: 50000+ drawings.


Verwijderd

je recordset van achter uitlezen? oftewel zonder limit. of ja wat hij hierboven zegt, gewoon andersom sorteren.

[ Voor 34% gewijzigd door Verwijderd op 11-07-2004 17:32 ]


  • bRight
  • Registratie: Juli 2000
  • Laatst online: 27-11-2024

bRight

digitaal

ORDER BY getal DESC LIMIT 0,2 ? :)

Verwijderd

Topicstarter
Cavorka schreef op 11 juli 2004 @ 17:32:
ORDER BY getal DESC LIMIT 0, 2

Of is dit onzin?
Ik heb dan wel de 2 juiste rows te pakken, maar deze staan dan in de verkeerde volgorde.

  • Cavorka
  • Registratie: April 2003
  • Laatst online: 27-03-2018

Cavorka

Internet Entrepreneur

Omdraaien in je code is geen optie? (No flame, just asking)

the-blueprints.com - The largest free blueprint collection on the internet: 50000+ drawings.


  • Xeo
  • Registratie: November 2002
  • Laatst online: 20:53

Xeo

jah dat zou toch wel een optie zijn in php kan dit bijv met de functie sort()

Verwijderd

Topicstarter
Omdraaien in de code wordt erg moeilijk.
In SQL moet er toch wel iets van LAST zijn ofzo?
maarja, heb het nog niet gevonden :S

  • Xeo
  • Registratie: November 2002
  • Laatst online: 20:53

Xeo

Verwijderd schreef op 11 juli 2004 @ 17:38:
Omdraaien in de code wordt erg moeilijk.
In SQL moet er toch wel iets van LAST zijn ofzo?
maarja, heb het nog niet gevonden :S
waarom word omdraaien in de code moeilijk? en wat voor programmeer taal gebruik je eigenlijk? Iets meer info zou fijn zijn....

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 20:27

gorgi_19

Kruimeltjes zijn weer op :9

Afhankelijk van je MySQL versie kan je ook een subquery gebruiken om het op te lossen. En anders moet je met een self-join het ook kunnen oplossen.

[ Voor 27% gewijzigd door gorgi_19 op 11-07-2004 17:40 ]

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • Cavorka
  • Registratie: April 2003
  • Laatst online: 27-03-2018

Cavorka

Internet Entrepreneur

Ja nu ik erover nadenk, vind ik het ook best vaag. Het lijkt zo makkelijk, maar ik kan ook nog geen oplossing vinden... Ik dacht zelf aan iets als SELECT MAX(2) oid. Ik zoek ook nog even verder.

Hier zeggen ze dat SQL het wel kan (met Top):
http://www.webmasterworld.com/forum88/3978.htm

[ Voor 21% gewijzigd door Cavorka op 11-07-2004 17:42 ]

the-blueprints.com - The largest free blueprint collection on the internet: 50000+ drawings.


  • PrisonerOfPain
  • Registratie: Januari 2003
  • Laatst online: 07-04 13:41
code:
1
LIMIT -2

Verwijderd

Topicstarter
Xeo schreef op 11 juli 2004 @ 17:39:
[...]


waarom word omdraaien in de code moeilijk? en wat voor programmeer taal gebruik je eigenlijk? Iets meer info zou fijn zijn....
programmeer met php inderdaad.
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php
$matchresultresultquery = mysql_query("SELECT match_id, match_datetime, c1.club_id as homeclubid, c1.club_name as homeclubname, t1.team_id as
 hometeamid, t1.team_type as hometeamtype, t1.team_nr as hometeamnr, c2.club_id as outclubid, c2.club_name as outclubname, t2.team_id as outteamid, 
t2.team_type as outteamtype, t2.team_nr as outteamnr, match_home_sets, match_out_sets FROM `match`, `club` as c1, `club` as c2, `team` as t1, `team` 
as t2 WHERE match_home_sets>'-1' AND match_class_id='".$schemearray['user_class']."' AND match_region_id='".$schemearray['user_region']."' AND 
match_season >NOW() AND match_home_club_id=t1.team_club_id AND match_home_team_id=t1.team_id AND t1.team_club_id=c1.club_id AND 
match_out_club_id=t2.team_club_id AND match_out_team_id=t2.team_id AND t2.team_club_id=c2.club_id ORDER BY match_datetime");


While($matchresult = mysql_fetch_array($matchresultresultquery)) {
$tablebgcolor++;
?>
Code enzo
<?php
}
?>


Hoe wil je deze omdraaien als ik vragen mag?
alle waarden opslaan en dan sorteren en dan omgekeerd afdrukken.
het moet toch ook wel in MySQL willen, wat een stuk eenvoudiger is.
btw. verder op de pagina komen er nog 2 van zulke stukjes code. dan wordt volgens mij de pagina ook traag.

-- Ik check dit arsort ff

[ Voor 21% gewijzigd door Verwijderd op 11-07-2004 17:49 ]


  • Cavorka
  • Registratie: April 2003
  • Laatst online: 27-03-2018

Cavorka

Internet Entrepreneur

En met PHP vind je het moeilijk ze om te draaien? :?

Zie: www.php.net/arsort

Wat PrisonerOfPain dus zegt. :P Weer wat geleerd. Of toch niet, want dat werkt niet. :)

edit:
Wel een lekkere query trouwens. Lol.

[ Voor 73% gewijzigd door Cavorka op 11-07-2004 18:03 ]

the-blueprints.com - The largest free blueprint collection on the internet: 50000+ drawings.


Verwijderd

Topicstarter
vindt het nog steeds een rare manier, maarja MySQL mist nog wat functies zo te zien :(
Arsort is wel een optie, maar ik zoek nog even verder naar een MySQL optie.

[ Voor 58% gewijzigd door Verwijderd op 11-07-2004 18:55 ]

Pagina: 1