Je releases
ce tableau dans une base de données SQLite3, répertoriant chaque version publiée d'une application:Rejoindre une sous-requête limitée?
|release_id|release_date|app_id|
|==========|============|======|
| 1001| 2009-01-01 | 1|
| 1003| 2009-01-01 | 1|
| 1004| 2009-02-02 | 2|
| 1005| 2009-01-15 | 1|
Ainsi, pour chaque app_id, il y aura plusieurs lignes. J'ai une autre table, apps
:
|app_id|name |
|======|========|
| 1|Everest |
| 2|Fuji |
Je veux afficher le nom de l'application et la nouvelle version, où « les plus récents » signifie (a) le plus récent release_date, et s'il y a des doublons, (b) le plus release_id .
Je peux le faire pour une application individuelle:
SELECT apps.name,releases.release_id,releases.release_date
FROM apps
INNER JOIN releases
ON apps.app_id = releases.app_id
WHERE releases.release_id = 1003
ORDER BY releases.release_date,releases.release_id
LIMIT 1
mais bien sûr que ORDER BY applique à toute requête SELECT, et si je quitte la clause WHERE, elle retourne encore une seule ligne.
Il s'agit d'une requête ponctuelle sur une petite base de données, donc les requêtes lentes, les tables temporaires, etc. vont bien - je ne peux tout simplement pas me familiariser avec SQL.
Je l'aime, et je comprends même - merci! –