-2
votes

Obtenir la plus grande valeur d'une ligne parmi plusieurs entrées


6 commentaires

Sélectionnez * à partir de métadonnées où pages = (Sélectionnez max (pages) à partir de métadonnées) ?


Ok que diriez-vous du format que j'ai écrit dans ... pas de problème avec une requête crue, mais j'aimerais savoir comment ce serait dans le format de requête normal. Merci pour votre commentaire


Taseer je ne vois aucune mention de file_id dans votre requête


Sélectionnez File_ID, max (pages) du groupe de métadonnées par fichier fichier_id par fichier_id


Nope Shawn .... ne pouvait pas lire la rangée 0, Col -1 de Cursorwindow. Assurez-vous que le curseur est correctement initialisé avant d'accéder aux données de celui-ci. Je ne comprends pas ce qui me manque


Je réinitialise mon application et lisez un PDF deux fois avec des pages différentes pour la première fois que 10 pages et la seconde était 20, alors j'étais censé avoir 20 comme maximum, mais je reçois l'erreur ci-dessus avec votre requête et quand j'ai vérifié la taille du curseur. La taille est 2 au lieu de 1, comme je l'ai dit, j'ai ouvert le même PDF deux fois, qui a la Dame File_ID.


3 Réponses :


0
votes

Que diriez-vous de cette

Sélectionnez File_ID distincte, pages de Tbl_Test Group par File_ID

résultat

 Entrez la description de l'image ici


2 commentaires

Cela ne fonctionnera pas; L'utilisation d'une valeur non groupée et non agrégée dans une sélection groupée choisira une ligne arbitraire du groupe pour les valeurs. Op veut la valeur maximale de la page. Voir mon commentaire dans la question de niveau supérieur pour ce que cela devrait être.


@Shawn je ne suis pas sûr de quoi voulons exactement. Il change de déclaration. Ma commande SQL produite résultat selon l'OP mentionné dans la section de ce que je cherche est



1
votes

La requête étrange m de marche. Seule la clé de groupe et la colonne d'agrégat peuvent être dans la liste Sélectionner une liste, si vous utilisez le groupe par. Donc, les pages sont une colonne de sélection invalide.

La requête correcte doit être xxx


1 commentaires

Pas étrange que cela fonctionne; C'est juste comment fonctionne SQLite. De La documentation : Chaque expression dans l'ensemble de résultats est ensuite évaluée une fois pour chaque groupe de lignes. Si l'expression est une expression globale, elle est évaluée sur toutes les lignes du groupe. Sinon, il est évalué contre une rangée unique choisie arbitraire de l'intérieur du groupe.



2
votes

Ceci utilise le Query () Méthode: xxx

remplacer dB avec votre variable SQLITEOPENHELER.


2 commentaires

Je vais essayer je pense que je pense que le groupe ne possède pas la parenthèse et pouvez-vous s'il vous plaît upvote ma question pour le faire 0 idk pourquoi quelqu'un devait levoir.


Édité, GroupBy doit être un tableau et a besoin des crochets, à droite.