|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : juin 2006 Messages : 2 ![]() |
Dans un petit outil d'expérimentation HSQLDB j'ai un problème ramené à priori aux lignes suivantes :
try { Statement statement = connection.createStatement(); String query = "SELECT * FROM "+'"'+ nomTable+ '"'+" LIMIT 2"; ResultSet rs = statement.executeQuery(query); . . . } catch (Exception e) { sret += e.getMessage(); } ____ Tout fonctionne bien à priori en enlevant le : +" LIMIT 2" sinon, j'obtiens l'erreur : Unexpected token: 2 in statement [2] la version HSQLDB est : 1.8.0.4 Y a-t-il un bug ? sinon dans quels cas l'utilisation de "LIMIT" est-elle possible ? Pour avoir le cas complet, voir mon projet Open Source en : http://gonic.lyon.free.fr/xor/testOpenSource.html et télécharger le : ../xor/essai/brouillamineur.jar --- Sinon, comment limiter le nombre de lignes consultées dans la table ? Merci d'avance ! |
|
|
00
|
|
|
#2 |
|
Membre du Club
![]() Inscription : mars 2006 Messages : 97 ![]() |
Le mot clé limit n'existe pas dans le standard SQL. En fait c'est une feature de MySQL.
Si tu veux avoir les 100 premières ligne il faut que tu rajoutes dans ta requête SQL "WHERE rownum <= 100"
__________________
Mercenaire du code |
|
|
00
|
|
|
#3 |
|
Invité de passage
![]() Inscription : mars 2006 Messages : 2 ![]() |
Bonjour,
Merci pour cette solution pour sélectionner les premiers enregistrements. Maintenant, j'ai un problème pour afficher les premiers enregistrements mais après avoir trié tous les enregistrements de la BD.. Est ce que vous avez une solution sans utiliser les SELECT imbriqués ? Merci. |
|
|
00
|
|
|
#4 |
|
Membre émérite
![]() Inscription : juin 2006 Messages : 1 204 ![]() |
ne manquerait-il pas un order by ?
select * from mytable order by col limit 2 ou tu peux faire un select top 2 * from mytable j'utilise la 1.8.0.7 et je n'ai pas de probleme... |
|
|
00
|
|
|
#5 | |
|
Membre VIP
![]() Inscription : mars 2007 Messages : 9 ![]() |
Citation:
http://troels.arvin.dk/db/rdbms/#select-limit Non-core Feature ID T611 specifies window functions, of which one is ROW_NUMBER() OVER Un example: SELECT * FROM ( SELECT ROW_NUMBER() OVER (ORDER BY key ASC) AS rownumber, columns FROM tablename ) AS foo WHERE rownumber <= n Francois Orsini http://blogs.sun.com/FrancoisOrsini/ |
|
|
|
00
|
|
|
#6 |
|
Membre émérite
![]() Inscription : juin 2006 Messages : 1 204 ![]() |
on parle bien de HSQLDB ?
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com