Beste Sders,
Ik loop tegen een probleem aan bij ORDER by.
Ik sla mijn prijs op als een varchar (aangezien er een . in staat)
Alleen doe ik nu order by kosten en ziet het script:
144.40 lager als 15.30
Wat kan ik hier aan doen?
Mvg,
Lars
- Database ORDER by
-
17-11-2010, 20:21 #1
- Berichten
- 447
- Lid sinds
- 16 Jaar
Database ORDER by
-
In de schijnwerper
Affilaxy is hét adult affiliate programma van dit moment!PromotieAutoriteit links aangeboden | Hoge DR & DA + Duizenden bezoekers. Alle NICHES vrijwelOverige dealsSEO-tekstschrijver inhuren | beter vindbaar met webtekstenFreelance / WerkAffiliate link poster V1.0 - Automatisch affiliate links posten in blogs - WP pluginPHP scripts -
17-11-2010, 20:23 #2
- Berichten
- 943
- Lid sinds
- 15 Jaar
Re: Database ORDER by
Heb je ORDER BY kosten DESC of ASC? Als je een van die twee hebt, moet je die even vervangen door de andere.
-
17-11-2010, 20:25 #3
- Berichten
- 447
- Lid sinds
- 16 Jaar
Re: Database ORDER by
Beste jos,
dat is het probleem niet ik krijg deze volgorde:
12.50
13.00
14.50
144.40
15.50
16.00
Hij ziet 144 dus lager als 15.50..
Alles klopt behalve bij getallen hoger dan 100
-
17-11-2010, 20:26 #4
- Berichten
- 1.031
- Lid sinds
- 17 Jaar
Re: Database ORDER by
Omdat het een "text"-veld is gaat hij niet sorteren van hoog naar laag maar van A-Z
Beste is om veldtype aan te passen... en als dat echt onmogelijk is dan kan je misschien ook iets met een convert doen in je query (heb het met mysql nooit gedaan, wel met andere database)
bijv:
Code:.... order by convert(`veld`, sql_double)
-
17-11-2010, 20:27 #5
- Berichten
- 447
- Lid sinds
- 16 Jaar
Re: Database ORDER by
Bedankt jopie,
Is er een ander veld dat ik kan gebruiken?
Wat hij wel ziet als getal, maar wel een . in mag voorkomen?
Mvg,
Lars
-
17-11-2010, 20:30 #6
64BitsWebhosting.EU
- Berichten
- 2.085
- Lid sinds
- 18 Jaar
Re: Database ORDER by
Bedragen numeriek opslaan ipv string. Truukjes om het nu te sorteren zal je bij veel records alleen maar gaan tegenwerken kwa performance.
-
17-11-2010, 20:30 #7
- Berichten
- 943
- Lid sinds
- 15 Jaar
Re: Database ORDER by
Kan dat niet gewoon met int?
-
17-11-2010, 20:33 #8
- Berichten
- 447
- Lid sinds
- 16 Jaar
Re: Database ORDER by
heb het omgetoverd tot een deicmal getal met 2 achter de koma!
Bedankt!!
-
17-11-2010, 23:35 #9
- Berichten
- 21
- Lid sinds
- 14 Jaar
Re: Database ORDER by
Sla het in db op als float 11.
Is netter
-
18-11-2010, 11:33 #10
- Berichten
- 90
- Lid sinds
- 16 Jaar
Re: Database ORDER by
Of als decimal: 12,2
-
18-11-2010, 11:47 #11
64BitsWebhosting.EU
- Berichten
- 2.085
- Lid sinds
- 18 Jaar
Re: Database ORDER by
In principe is het beter om de decimal te gebruiken dan een float. Deze laatste zijn gebaseerd op floating point berekeningen die per definitie niet precies zijn.
Een floatwaarde van 12,50 kan bv intern als 12,49999999 worden opgeslagen terwijl een decimal wel als 12,50 wordt opgeslagen.
-
18-11-2010, 12:06 #12
- Berichten
- 488
- Lid sinds
- 15 Jaar
Re: Database ORDER by
Een double kan ook nog.
Maar decimal is beter denk ik zoals gast10474ier heeft uitgelegd.
Groeten,
Tim
Plaats een
- + Advertentie
- + Onderwerp
Marktplaats
Webmasterforum
- Websites algemeen
- Sitechecks
- Marketing
- Domeinen algemeen
- Waardebepaling
- CMS
- Wordpress
- Joomla
- Magento
- Google algemeen
- SEO
- Analytics
- Adsense
- Adwords
- HTML / XHTML
- CSS
- Programmeren
- PHP
- Javascript
- JQuery
- MySQL
- Ondernemen algemeen
- Belastingen
- Juridisch
- Grafisch ontwerp
- Hosting Algemeen
- Hardware Info
- Offtopic