Chunk richtig ist Mein Problem ist, dass ich in jedem Moment die doppelten Einträge in Mel Spalte aus Zieltabelle erhalten muss.Wie man richtig eine Abfrage mit Unterabfrage in Laravel
Ich habe so viele Dinge versucht, diese Abfrage in Laravel zu übersetzen, konnte aber den Weg nicht finden:
select id
from dest d,
(select mel from dest where stt = 0 group by mel having count(mel) > 1) sr
where d.mel = sr.mel
Ich habe versucht, eine Ansicht
create DEFINER = user view dest_doubles
als select id zu erstellen aus dest d, (wählen mel aus dest wo stt = 0 gruppe durch mel mit zähl (mel)> 1) sr wo d.mel = sr.mel
Die select id from dest_doubles
Abfrage dauert ewig, während
select id from dest d, (select mel from dest where stt = 0 group by
mel having count(mel) > 1) sr where d.mel = sr.mel
antwortet 3 Minuten
ich dies in Laravel Befehl versucht haben:
\DB::select(\DB::raw('dest.id'))
->from(\DB::raw('dest, (select mel from dest where stt = 0 group by mel having count(mel) > 1) as sr'))
->whereRaw('dest.mel = sr.mel')
->chunk(10000, function ($doubles) {
});
und konnte nicht ausgeführt werden:
[PDOException]
SQLSTATE [42000]: Syntaxfehler oder Zugriffsverletzung: 1064 Sie haben einen Fehler in der SQL-Syntax; Sie in die Bedienungsanleitung für die richtige Syntax verwendet in der Nähe von ‚dest.id‘ bei Linie 1
Also ich weiß nicht, wie zu Chunk eine Abfrage, die eine Unterabfrage in Laravel zu Ihrer MySQL-Server-Version entspricht enthält
Danke
Ich sollte präzisieren, dass dest ist ein großer Tisch mit 8 Millionen Zeilen –