mysql什么时候需要中间表,查询的时候如何使用中间表,最好有个例子,谢谢(*°∀°)=3

mysql什么时候需要中间表,查询的时候如何使用中间表,最好有个例子,谢谢(*°∀°)=3,第1张

你说的中间表是不是临时表

例:如何实现随机更新表里的几条数据。

思路1:先随机查询几条记录

思路2:更新这几条记录。

但是你如果直接写 Update table1 SET ....... where ID in (select ID from table1 ORDER BY RAND() limit 1)

这种情况就会报错。不能再查询时同时对该表进行修改。这个时候就需要将查询语句查出来的表放到临时表。

update table1 Set ...... where ID in(SELECT F.ID FROM (SELECT * FROM table1 ORDER BY RAND() LIMIT 2) F)

把tags进行分割,并和id关联起来

结果如图:

t_num_tmp为中间表,内容如下:

id的最大值为 len(tags分割后tag的数量)

通过t_num_tmp中间表把t_tags的一条记录复制为n份,n为tags分割后tag的数量。

再在这n份记录中, 通过对应的循环值, 取到对应的tag

https://www.cnblogs.com/tooy/p/8108602.html

select a.*,c.*,t.status,t.cou from a left join b on a.id=b.aid left join c on b.cid=c.id left join

(select a.id,d.status,count(*) cou from a left join d ona.id=d.id group by a.id,d.status) t

on a.id=t.id


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

原文地址: http://outofmemory.cn/zaji/7140517.html

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

发表评论

登录后才能评论

评论列表(0条)

保存