有关按特定顺序选择3行的SQL帮助

时间:2013-04-12 00:10:12

标签: mysql sql

我正在尝试运行一个总是返回2行或3行的SQL查询;当返回3时,得对它们进行排序:team1,draw,team2

所以基本上如果“draw”在列表中,那么它应该总是放在其他两行之间,不管它们是什么,假设团队的名称和绘图都在“title”列中

我尝试按CASE WHEN title = 'draw' THEN 1排序,也尝试了FIELD() - 没有运气:(

有人可以帮忙吗?

谢谢!

2 个答案:

答案 0 :(得分:1)

试试这个:

ORDER BY (IF(title='team1', 1, IF(title='team2', 3, 2)))

答案 1 :(得分:0)

团队与结果不同。我相信你不应该解决你的问题。而是创建三个表:团队,结果和结果类型。在ResultTypes中存储两个团队之间的任何可能结果。在团队中,将团队,他们的名字和任何相关数据存储在他们身上。最后,在结果存储3个外键。其中两个应引用Teams表,一个引用ResultTypes表。这样,从数据库中选择数据就不会有问题。