Wie deklariere ich eine Variable in Mysql, so dass meine zweite Abfrage sie verwenden kann?
Ich würde gerne etwas schreiben wie:
SET start = 1;
SET finish = 10;
SELECT * FROM places WHERE place BETWEEN start AND finish;
Wie deklariere ich eine Variable in Mysql, so dass meine zweite Abfrage sie verwenden kann?
Ich würde gerne etwas schreiben wie:
SET start = 1;
SET finish = 10;
SELECT * FROM places WHERE place BETWEEN start AND finish;
Wer @variable in der Funktion concat_ws verwendet, um verkettete Werte zu erhalten, sollte nicht vergessen, sie mit einem leeren Wert zu reinitialisieren. Andernfalls kann sie für dieselbe Sitzung den alten Wert verwenden.
Set @Ids = '';
select
@Ids := concat_ws(',',@Ids,tbl.Id),
tbl.Col1,
...
from mytable tbl;
Ich möchte hier meine Antwort geben, damit die Leute es versuchen können, eine Lösung für MySql, die meiner Meinung nach leichter zu verstehen ist:
set @countVal = (select count(*) from STATION);
/**
499/2 = 249,5 -> 250 -- ceil
499/2 = 249,5 + 1 = 250,5 -- floor 250
500/2 = 250 -- ceil 250
= 250 + 1 = 251 -- flor 251
**/
set @ceilVal = ceil(@countVal/2);
set @floorVal = floor( (@countVal/2) + 1);
SELECT ROUND(AVG( latitude ),4) FROM
(SELECT @lineNum:= @lineNum + 1 as id,
lat_n as latitude
FROM STATION s, ( SELECT @lineNum :=0 ) pivot
ORDER BY lat_n) as a
WHERE id IN ( @ceilVal, @floorVal );
CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.