mysql> SET @v1= X'41';
mysql> SET @v2= X'41'+0;
mysql> SET @v3=CAST(X'41' AS UNSIGNED);
mysql> SELECT @v1,@v2,@v3;+------+------+------+|@v1|@v2|@v3|+------+------+------+| A |65|65|+------+------+------+
mysql> SET @v1= b'1000001';
mysql> SET @v2= b'1000001'+0;
mysql> SET @v3=CAST(b'1000001' AS UNSIGNED);
mysql> SELECT @v1,@v2,@v3;+------+------+------+|@v1|@v2|@v3|+------+------+------+| A |65|65|+------+------+------+
实现ROW_NUMBER() OVER (PARTITION BY ORDER BY ) 函数
SELECT
t.real_name,
t.id_card_no,
t.is_job,
t.last_modify_time,if(@groups=t.id_card_no,@rank:=@rank+1,@rank:=1) as rank,--排序
@groups:=t.id_card_no as tt_id_card_no --分组
FROM (
select
t.real_name,
t.id_card_no,
t.is_job,
t.last_modify_time
from
labourer_resume t
where t.is_deleted =1 and t.source_pid !=0
ORDER BY id_card_no,t.is_job DESC,t.last_modify_time DESC --先排序
) t JOIN (SELECT @groups:= null ,@rank:=0) r --自定义两个变量用于分组 排序