limitare il risultato di una query

Ho una tabella che contiene nome abitante,età,citta.

ordinata per città

id   nome    età    città

1   caio   50   roma

2   tizio   50   roma

3   ecc   18   milano

ecc   ecc   ecc   ecc

Vorrei estrarre da questa tabella tutti i records degli abitanti che abbiano una certa età e fin qui è facile ,ma vorrei limitare l estrazione a non più di 10 records per città.E possibile farlo con una select o e necessario ad esempio far intervenire il php.Qualcuno mi aiuta?Grazie

inviato 8 anni fa
lucignolo
X 0 X

$query="

SELECT ..........

FROM ............

WHERE .............

LIMIT 0,9;";

risposto 8 anni fa
whitewolf11
modificato 8 anni fa
X 0 X

Si ma così il risultato si ferma ai primi 10 abitanti della prima città.Io voglio ottenere ad esempio i primi 10 abitanti di Roma che abbiano 50 anni,i primi 10 abitanti di Milano che abbiano 50 anni,i  primi 10 abitanti di Napoli che abbiano 50 anni,ecc.Ho comunque risolto facendo una select che mi mi estragga i primi 10 abitanti che abbiano 50 anni con limit 0,9 e poi facendo un ciclo while su questa select per le città.Grazie comunque  whitewolf11

risposto 8 anni fa
lucignolo
X 0 X

Che versione di MySQL hai a disposizione? Se puoi usare MySQL 5 ci sono delle tecniche basate su sub-select che potresti provare. Altrimenti devi procedere con PHP, effettuando tante query quante sono le città.

 :bye:

risposto 8 anni fa
Gianni Tomasicchio
X 0 X

Si infatti Gianni ho risolto con l'aiuto del php e con una select che preleva dalla tabella tutte le città, poi cicla per ogni città  con la clausola group by citta.

risposto 8 anni fa
lucignolo
X 0 X
Effettua l'accesso o registrati per rispondere a questa domanda