如何使用MySQL实现队列

如何使用MySQL实现队列,第1张

这完全是文不对题啊,队列是一种先进先出的数据结构,通常在各种编程语言中都提供相应的类库支持,但MySQL是一个关系型数据库管理系统,并不直接提供这种功能,也不应该提供这种功能。

如果真需要先进先出,就把查询的结果放入到对应高级语言的队列中即可。

如果只是单纯你给的数据的话

创建表:

create table test

(uid int,

targer varchar(1),

status int,

date date)

insert into test values (1,'A',0,'2018-02-01')

insert into test values (1,'B',1,'2018-01-01')

insert into test values (2,'A',0,'2018-02-01')

insert into test values (2,'B',0,'2018-01-01')

执行:

select t1.uid,max(case when t1.status=1 then t1.target else t2.target end) targer from test t1,

(select a.* from test a,

(select uid,max(date) date from test group by uid) b

where a.uid=b.uid and a.date=b.date) t2

where t1.uid=t2.uid

group by t1.uid

结果:

如果混杂其他数据的话,另说。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/7626345.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-07
下一篇 2023-04-07

发表评论

登录后才能评论

评论列表(0条)

保存