556 Stimmen

Wie deklariert man eine Variable in MySQL?

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;

4voto

Imran Javed Punkte 10533

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;

0voto

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 );

-2voto

Hari Lakkakula Punkte 163

SET-Wert

 declare @Regione int;   
 set @Regione=(select  id from users
 where id=1) ;
 select @Regione ;

CodeJaeger.com

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.

Powered by:

X