2011-11-26 35 views
1

我目前正在使用:把一个特定字母所有其他之前在MySQL

SELECT * FROM OptSubjectItems ORDER BY yr, subject; 

获得从数据库的一些信息。这工作正常,除了我需要有记录,其中yr = x第一,然后其他,按年份和主题排序。我想:

SELECT * FROM OptSubjectItems ORDER BY yr=*x*, yr, subject; 

this question,但显示的东西,其中年= X最后,而不是第一个。

感谢, 杰米McClymont

回答

2

你几乎解决方案。只是除了

SELECT * FROM OptSubjectItems ORDER BY (yr=x) DESC, subject DESC; 
+0

这对我来说不到风度的工作。它将* yr = x *放在最后,其余按主题而非按年排序,然后主题 – JJJollyjim

+0

@ JJ56现在可以看到答案。 –

+1

谢谢!我实际上必须使用'(yr = 13)DESC,yr,subject'(注意'''''''''' – JJJollyjim

2
SELECT * FROM OptSubjectItems ORDER BY 
case when yr=x then 0 else 1 end, yr, subject 
相关问题