SELECT * FROM A WHERE id IN (SELECT videoid FROM B WHERE uid = 1);
这代码查询出来只能按照B表id来升序,我想id数值大的在前面啊,可以实现吗,用 ORDER BY 不行 黑屋屋👾
SELECT * FROM A WHERE id IN (SELECT videoid FROM B WHERE uid = 1) ORDER BY id DESC; 呢?
@无名啊,这样是排序A表的....... 这个B是用户收藏表,A是文章表,它默认出来是B的id1.2.3,最新收藏就跑到后面了 我感觉这个in方法查询应该做不到排序B表ID 黑屋屋👾
@Sunset,你查询的就是A的数据,A怎么排序跟B没关系
@Sunset,这样呢?
SELECT A.* FROM A JOIN B ON A.id = B.videoid WHERE B.uid = 1 ORDER BY B.id DESC
@无名啊,我曹,牛B!可以了! @echo醉老仙,我想按照B表主键排序啊!ORDER BY FIELD() 我查到这个可以用,但是我套不进我那个sql方法,楼上那个代码帮我解决了! 黑屋屋👾
SELECT * FROM A WHERE id IN (SELECT videoid FROM B WHERE uid = 1) ORDER BY id DESC; 呢?