Je tourne cette requêtemysql requête dernière date
SELECT sh.*,
u.initials AS initals
FROM database1.table1 AS sh
JOIN database2.user AS u ON u.userID = sh.userid
WHERE id = 123456
AND dts = (SELECT MAX(dts) from database1.table1)
ORDER BY sort_by, category
Dans le tableau 1, j'ai des dossiers comme celui-ci
dts status category sort_by
2010-04-29 12:20:27 Civil Engineers Occupation 1
2010-04-28 12:20:27 Civil Engineers Occupation 1
2010-04-28 12:20:54 Married Marital Status 2 2010-04-28 12:21:15 Smoker Tobbaco 3
2010-04-27 12:20:27 Civil Engineers Occupation 1
2010-04-27 12:20:54 Married Marital Status 2 2010-04-27 12:21:15 Smoker Tobbaco 3
2010-04-26 12:20:27 Civil Engineers Occupation 1
2010-04-26 12:20:54 Married Marital Status 2 2010-04-26 12:21:15 Smoker Tobbaco 3
Si vous regardez mes données, je choisis la dernière entrée par catégorie et sort_id. Cependant, dans certains cas, comme le 29 (2010-04-29 12:20:27), je n'ai qu'un seul enregistrement. Donc, dans ce cas, je veux montrer l'occupation pour la dernière fois, puis le reste d'entre eux (plus tard). Mais actuellement, il affiche seulement une ligne.
Vous devez formater vraiment votre code, et de mettre votre table dans une boîte de code. –
Je ne peux pas déterminer la structure de la colonne. –
Ceci: 'AND dts = (SELECT MAX (dts) de database1.table1)' ... vous assurera que vous obtenez seulement les enregistrements qui correspondent à cette valeur dts. Vous avez besoin de grouper par critères pour subdiviser les valeurs dts de manière appropriée. –