Voici ma base de données.en utilisant MAX() et GROUP BY ne retourne pas le résultat correct
id - date_time - barcode_no - result
1 - '2017-08-01 01:00:00' - 'A' - '1'
2 - '2017-08-01 02:00:00' - 'A' - '2'
31 - '2017-08-01 03:00:00' - 'A' - '3'
4 - '2017-08-01 04:00:00' - 'B' - '4'
5 - '2017-08-01 05:00:00' - 'B' - '5'
61 - '2017-08-01 06:00:00' - 'B' - '6'
7 - '2017-08-01 07:00:00' - 'C' - '7'
8 - '2017-08-01 08:00:00' - 'C' - '8'
9 - '2017-08-01 09:00:00' - 'C' - '9'
100- '2017-08-01 10:00:00' - 'C' - '10'
J'ai cette requête sur mySQL
SELECT barcode_no,MAX(date_time),result
FROM test_data_main
GROUP BY barcode_no
mais il ne me donne pas le résultat correct. J'ai aussi utilisé any_value (résultat) mais j'ai le même mauvais résultat.
Voici le lien pour mon exemple de base de données et de code sur SQL Fiddle. SAMPLE CODE
Mon exigence est d'obtenir la ligne du dernier code à barres.
id - date_time - barcode_no - result
31 - '2017-08-01 03:00:00' - 'A' - '3'
61 - '2017-08-01 06:00:00' - 'B' - '6'
100- '2017-08-01 10:00:00' - 'C' - '10'
mais mon mauvais résultat était
id - date_time - barcode_no - result
31 - '2017-08-01 03:00:00' - 'A' - '1'
61 - '2017-08-01 06:00:00' - 'B' - '4'
100- '2017-08-01 10:00:00' - 'C' - '7'
Je ne sais pas ce qui ne va pas avec ma requête. S'il vous plaît donnez votre avis.
Merci d'avance.
* « Mon exigence est d'obtenir la ligne de la dernière barcode_no. » * - Vous ne pouvez pas obtenir les lignes de la table en utilisant 'GROUP BY'. 'GROUP BY' calcule de nouvelles lignes en utilisant les données de la table. Jetez un oeil à [cette réponse] (https://stackoverflow.com/a/28090544/4265352) sur une [question similaire] (https://stackoverflow.com/q/12102200/4265352). – axiac
Merci à vous deux axiac et Sagar Gangwal. Semble être similaire axiac. Pour le pire, il n'a pas montré lors de la recherche. – Roggie