J'ai une requête qui retournera une ligne. Y a-t-il quelque chose que je peux trouver l'indice de ligne de la ligne que je pose quand la table est triée?
J'ai essayé J'ai essayé Rowid avec des résultats inattendus: p> edit: strong> J'ai également essayé la suggestion de J Cooper (ci-dessous), mais les numéros de ligne il ne reste plus pas raison. p> Rowid code> mais obtenu # 582 Quand je m'attendais à la ligne n ° 7. p>
3 Réponses :
Voici un moyen d'obtenir le numéro de ligne dans sqlite strong>:
J'ai envie de faire quelque chose de mal ou de manquer une bizarrerie comportementale. Les numéros de ligne sont tous différents, selon lesquels je l'utilise, mais aucun d'entre eux n'est ce que je m'attendais. Pourrait-il avoir quelque chose à voir avec l'utilisation de chaînes (texte) comme colonne ID?
Pourquoi avez-vous modifié ma requête à ... où t2.recpeipeid <= t1.Recpeipeid code>? Dans votre question, vous demandez le numéro de ligne par rapport à code> Nom code> pas
recetteId code> - C'est pourquoi vous n'obtenez pas de bons résultats, utilisez
où t2.name
Cela fonctionne bien, merci. La clé est de trier par la colonne de la clause WHERE.
Ce que vous demandez peut être expliqué de deux manières différentes, mais je suppose que vous voulez trier la table résultante, puis numérisez ces lignes en fonction du tri.
declare @resultrow int select @resultrow = row_number() OVER (ORDER BY Name Asc) as 'Row Number' from Categories WHERE CategoryID = 'C_L776102U' select @resultrow
Row_Number () n'est pas disponible dans SQLite
Voici une histoire amusante que vous pouvez utiliser dans Spatialite pour obtenir l'ordre des valeurs. Si vous utilisez la fonction Count () avec une clause où la clause limitant uniquement les valeurs> = la valeur actuelle, le compte donnera en réalité la commande. Donc, si j'ai une couche de point appelée "mypoints" avec des colonnes "valeur" et "val_ordre" alors: donne l'ordre décroissant des valeurs.
Je peux mettre à jour la colonne "val_order" de cette façon: p>
Pourquoi avez-vous modifié ma requête à
... où t2.recpeipeid <= t1.Recpeipeid code>? Dans votre question, vous demandez le numéro de ligne par rapport à code> Nom code> pas
recetteId code> - C'est pourquoi vous n'obtenez pas de bons résultats, utilisez
où t2.name à la place