dongniaoli1822 2017-02-09 09:46
浏览 36
已采纳

Mysql - 在IN Clausole订购

I have a simple question. I have to join multiple queries and most of them has ad IN clausole. Unfortunally, MySQL doesn't allow ORDER BY in an UNION (only outside all unions) but I need a specific ordering that I can't get with an outside order by.

Question is: If I have a IN clausole like

foo in ('newyork','boston','atlanta')

may I assume MySql's engine will order the resulting rows by IN position (so, first all the row with foo = 'newyork' then 'boston' etc...

Thanks.

  • 写回答

2条回答 默认 最新

  • douju9847 2017-02-09 09:50
    关注

    No. It's nothing like that. You need to explicitly add an order by clause.

    If you want to order your rows based on position in a set, you can use field function.

    order by field(foo,'newyork','boston','atlanta')
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥20 求各位懂行的人,注册表能不能看到usb使用得具体信息,干了什么,传输了什么数据
  • ¥15 个人网站被恶意大量访问,怎么办
  • ¥15 Vue3 大型图片数据拖动排序
  • ¥15 Centos / PETGEM
  • ¥15 划分vlan后不通了
  • ¥20 用雷电模拟器安装百达屋apk一直闪退
  • ¥15 算能科技20240506咨询(拒绝大模型回答)
  • ¥15 自适应 AR 模型 参数估计Matlab程序
  • ¥100 角动量包络面如何用MATLAB绘制
  • ¥15 merge函数占用内存过大