J'ai une table avec des données et je veux sélectionner les données les plus récentes pour chaque type ...MySQL Query, optimisation des sous-requêtes, SELECT, REJOIGNEZ
Tableau:
+----+------+------+---------------------+
| ID | data | type | date |
+----+------+------+---------------------+
| 1 | just | 2 | 2010-08-07 14:24:48 |
| 2 | some | 2 | 2010-08-07 18:07:32 |
| 3 | data | 9 | 2010-08-06 02:52:17 |
| 4 | abcd | 1 | 2010-08-08 17:23:22 |
| 5 | efg1 | 5 | 2010-07-10 21:36:55 |
| 6 | c123 | 5 | 2010-07-10 20:44:36 |
| 7 | bbey | 12 | 2010-08-09 09:01:26 |
+----+------+------+---------------------+
Actuellement, je suis en utilisant de simples et sous-requête ressemble à tout fonctionne
SELECT `data`,`type`,`date`
FROM `table1`
WHERE `date` = (
SELECT MAX(`date`)
FROM `table1` AS tbl2
WHERE tbl2.`type` = `table1`.`type`
)
GROUP BY `type`
ORDER BY `type`,`date`
Résultat:
+------+------+---------------------+
| data | type | date |
+------+------+---------------------+
| abcd | 1 | 2010-08-08 17:23:22 |
| some | 2 | 2010-08-07 18:07:32 |
| efg1 | 5 | 2010-07-10 21:36:55 |
| data | 9 | 2010-08-06 02:52:17 |
| bbey | 12 | 2010-08-09 09:01:26 |
+------+------+---------------------+
Ma question est est-il une meilleure façon de faire, une certaine optimisation, amélioration ou peut-être il est possible de faire rejoindre?