View Full Version : MySql join ...contare record uguali
Frenky-90
18-03-2019, 22:23
Ciao in una tabella Towns ho un campo person_id che lega l id di una persona a quel record.
Poi ho una tabella Persons con id e nome..
In pratica con una join i vorrei fare questo:
Fare lil display di tutta la lista persons(nome) e affianco ad ogni record avere un Count di quante volte il suo id è presente nella tabella Towns town_id...
Esempio
Tizio 2
Caio 4
Sempronio 7
Spero di essermi spiegato bene :mc:
Volutomitra
19-03-2019, 06:17
Se le tabelle sono:
persons |id|nome|
towns |person_id|...
La query dovrebbe essere:
SELECT
'persons'.'nome',
COUNT('towns'.'person_id') AS 'count'
FROM
'persons'
LEFT JOIN
'towns'
ON ('towns'.'person_id'='persons'.'id')
GROUP BY
'persons'.'id', 'persons'.'nome'
ORDER BY
'persons'.'nome'
Frenky-90
19-03-2019, 07:02
ok grazie sembra che non da errori sql.
Solo una cosa... Nel foreach dove la passo facendo
$persons->nome // ottengo il nome
cosa metto invece per far venire fuori il count?
ok grazie sembra che non da errori sql.
Solo una cosa... Nel foreach dove la passo facendo
$persons->nome // ottengo il nome
cosa metto invece per far venire fuori il count?
$persons->count ?
Se poi è perchè non ti piace la parola modifica
SELECT
'persons'.'nome',
COUNT('towns'.'person_id') AS 'totale'
e ti riferisci a "totale"
Frenky-90
19-03-2019, 08:10
$persons->count ?
Se poi è perchè non ti piace la parola modifica
SELECT
'persons'.'nome',
COUNT('towns'.'person_id') AS 'totale'
e ti riferisci a "totale"
hai ragione scusa. io provavo ma mi dava errore.. Molto probabilmente mettevo il simbolo di variabile cosi $persons->$counter:mc:
Grazia a tutti e due.. Funziona.:)
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.