例:如何实现随机更新表里的几条数据。
思路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)
车的表有个cid字段....,人的表有个uid字段....,中间表有uid和cid字段,同个uid有多个cid。人表
uid | name
1|A
2|B
3|C
车表
cid | name
1 | a
2 | b
3 | c
4 | d
5 | e
中间表
id | uid | cid
1| 1|1 //a车属于A
2| 1|2 //b车属于A
3| 2|4 //d车属于B
4| 3|3 //c车属于C
5| 3|5 //e车属于C
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
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)