Sto avendo problemi con la seguente query SQL e MySQLSQL SELECT DOVE NON IN dalla domanda stessa tabella
SELECT
id, cpid, label, cpdatetime
FROM
mytable AS a
WHERE
id NOT IN
(
SELECT
id
FROM
mytable AS b
WHERE
a.label = b.label
AND
a.cpdatetime > b.cpdatetime
)
AND
label LIKE 'CB%'
AND
cpid LIKE :cpid
GROUP BY label
ORDER BY cpdatetime ASC
tavolo assomiglia a questo
1 | 170.1 | CB55 | 2013-01-01 00:00:01
2 | 135.5 | CB55 | 2013-01-01 00:00:02
3 | 135.6 | CB59 | 2013-01-01 00:00:03
4 | 135.5 | CM43 | 2013-01-01 00:00:04
5 | 135.5 | CB46 | 2013-01-01 00:00:05
6 | 135.7 | CB46 | 2013-01-01 00:00:06
7 | 170.2 | CB46 | 2013-01-01 00:00:07
vorrei che la mia query per restituire
3 | 135.6 | CB59
5 | 135.5 | CB46
Modifica
0.123.le etichette sono cani/gatti e cpids sono famiglia temporanea che mantiene i cani/gatti.
I cani/gatti si spostano da una famiglia all'altra.
ho bisogno di trovare i cani/gatti che erano in: userinput famiglia, ma solo se non erano in un'altra famiglia in precedenza
non può alterare il database e solo lavorare con i dati così come sono e Non sono io quello che ha scritto lo schema dell'applicazione/database.
Si verificano errori? – Sir
Non chiedere scusa - questa è una domanda ben scritta rispetto ad altre in cui si hanno informazioni sui premi usando le viti a testa piatta. –
Spiacente, potresti spiegare perché non dovrebbe restituire la riga 1? È ': cpid = '13% '' forse? –