我正在尝试运行一个总是返回2行或3行的SQL查询;当返回3时,得对它们进行排序:team1,draw,team2
所以基本上如果“draw”在列表中,那么它应该总是放在其他两行之间,不管它们是什么,假设团队的名称和绘图都在“title”列中
我尝试按CASE WHEN title = 'draw' THEN 1
排序,也尝试了FIELD()
- 没有运气:(
有人可以帮忙吗?
谢谢!
答案 0 :(得分:1)
试试这个:
ORDER BY (IF(title='team1', 1, IF(title='team2', 3, 2)))
答案 1 :(得分:0)
团队与结果不同。我相信你不应该解决你的问题。而是创建三个表:团队,结果和结果类型。在ResultTypes中存储两个团队之间的任何可能结果。在团队中,将团队,他们的名字和任何相关数据存储在他们身上。最后,在结果存储3个外键。其中两个应引用Teams表,一个引用ResultTypes表。这样,从数据库中选择数据就不会有问题。