2017-08-30 1 views
-1

My database tableMa requête Sql pour sélectionner des enregistrements distincts avec la valeur de la colonne max

J'ai cette table d'histoire qui maitains en double Panel_Number et son histoire. J'ai besoin de votre aide pour obtenir une requête qui me donnera un Panel_Number distinct avec sa max (version) de la table.

Par exemple: - Le panneau 0G3101 a 3 occurrences dans le tableau avec des versions différentes 1,2,3. J'ai seulement besoin de montrer dans le resultset le Panel 0G3101 WITH MAX (VERSION) qui est 3 dans ce cas.

De même, j'ai besoin de tous les numéros de panneaux distincts avec leur version max.

+1

Si votre exigence est pour la base de données '[MySQL]' ne comprennent pas le '[oracle]' balise. Ce sont des produits différents, et pour cette tâche, ils peuvent avoir des solutions différentes. – APC

+1

Vous pouvez peut-être regarder dans ceci, cela m'a aidé précédemment. J'espère que cela vous aidera aussi. https://stackoverflow.com/questions/7745609/sql-select-only-rows-with-max-value-on-a-column – Amal

Répondre

0

Voici an SQL fiddle I made for you. J'ai ajouté des données arbitraires, mais la requête fonctionnera correctement avec vous.

La requête doit être:

SELECT 
    id, 
    panel_number, 
    max(version) 
FROM 
    PANEL 
GROUP BY 
    panel_number 

Le résultat est comme:

| id | panel_number | max(version) | 

|----|--------------|--------------| 

| 1 |  0G3101 |   3 | 

| 4 |  0G3102 |   2 | 
+0

Merci. mais cela ne fonctionne pas entièrement comme requis. Je n'aurais peut-être pas expliqué mon exigence avec précision. Dans l'image, pour le panneau n ° 0G3101, 0G3106, 0G3107, 0G3108 je reçois la version correctement, mais les derniers enregistrements insérés, ce qui signifie que la requête renvoie shud ids- 61.62,63,64 (qui sont à la fin de la table) – MayurS

0

Vous pouvez utiliser le groupe par clause pour résoudre votre problème.

SELECT panel_number, max(version) FROM PANEL GROUP BY panel_number 
+0

Désolé bourgeon. Je vais avoir besoin de la dernière version du numéro de panneau inséré qui dans ce cas est ids- 61.62,63,64 (qui sont à la fin de la table) – MayurS

+0

Essayez le suivant 'SELECT panel_number, version, max (id) FROM PANEL GROUP BY panel_number ' –

+0

Mettez à jour votre question afin que nous puissions vous aider, et apporter quelques modifications au violon pour que nous puissions savoir exactement ce que vous voulez. – droidnation

-1

Essayez these..work 100% cliquez sur requête ..

SELECT panel_number, MAX(version) FROM PANEL GROUP BY panel_number 
+0

Cela ne répond pas à l'exigence, qui est de sélectionner l'enregistrement avec la version la plus élevée pour chaque clé d'entreprise ('panel_number'). – APC