mysql sql語句中變數的使用

2021-08-06 05:23:42 字數 1238 閱讀 3960

有乙個表,其中一列是城市(city),一列是人的姓名(personname),

怎麼獲取每個城市中任意兩個人?

ddl如下:

-- ----------------------------

-- table structure for `myperson`

-- ----------------------------

drop

table

ifexists

`myperson`;

create

table

`myperson` (

`id`

int(11) not

null auto_increment,

`city`

varchar(12) default

null,

`personname`

varchar(24) default

null,

primary

key (`id`)

) engine=innodb default charset=utf8;

-- ----------------------------

-- records of myperson

-- ----------------------------

select

city,

personname

from

(select

case

when @mycity != city then @rownum:= 1

else @rownum:= @rownum + 1

endas

no, @mycity := city as city,

personname

from

(select @rownum:=0) r,

(select @mycity:= '') p,

(select * from myperson order

by city, rand()) tmp

) a

where

no<= 2

order

by city;

說明:從如下問題來分析上面的sql

1.變數如何命名?變數如何賦值?

2.case when用在select子句和用在where子句的區別是什麼?

mysql sql語句中的特殊字元處理

今天在除錯sql語句時遇到了幾個地方報語法錯誤,主要是sql文字中特殊字元問題。環境是mysql vb6 用mysql odbc連線資料庫。在向mysql資料庫中插入文字型別的字段時注意替換的字元有。1.單引號 yourtext replace yourtext,2.轉義字元 yourtext re...

SQL語句中case when then的使用

使用語法為 select pro id as id pro title as title pro name as name pro ltime as ltime pro place as place pro linkman as linkman pro address as address pro ...

Oracle的SQL語句中的變數替換

一.問題描述 如下sql insert into tmp val values a b view code 點選 確定 過後我們檢視表中的資料 b後面的字串沒有插入進去.二.原因解析 替代變數 sql plus中預設的 表示替代變數,當寫入 時,資料庫會要求其替換成其它的值。如,你可以定義 這樣插入...