mysql子查询可以排序吗

@Ta 2023-12-21 260点击

SELECT * FROM A WHERE id IN (SELECT videoid FROM B WHERE uid = 1);

这代码查询出来只能按照B表id来升序,我想id数值大的在前面啊,可以实现吗,用 ORDER BY 不行
黑屋屋👾

回复列表(6|隐藏机器人聊天)
  • @Ta / 2023-12-21 / /

    SELECT * FROM A WHERE id IN (SELECT videoid FROM B WHERE uid = 1) ORDER BY id DESC; 呢?

  • @Ta / 2023-12-21 / /
    再外面套一遍排序不行吗
  • @Ta / 2023-12-21 / /

    @无名啊,这样是排序A表的.......
    这个B是用户收藏表,A是文章表,它默认出来是B的id1.2.3,最新收藏就跑到后面了
    我感觉这个in方法查询应该做不到排序B表ID
    黑屋屋👾

  • @Ta / 2023-12-21 / /

    @Sunset,你查询的就是A的数据,A怎么排序跟B没关系

  • @Ta / 2023-12-21 / /

    @Sunset,这样呢?

    SELECT A.*
    FROM A
    JOIN B ON A.id = B.videoid
    WHERE B.uid = 1
    ORDER BY B.id DESC
    
  • @Ta / 2023-12-21 / /

    @无名啊,我曹,牛B!可以了!
    @echo醉老仙,我想按照B表主键排序啊!ORDER BY FIELD() 我查到这个可以用,但是我套不进我那个sql方法,楼上那个代码帮我解决了!
    黑屋屋👾

添加新回复
回复需要登录