MySql - 用于选择第一选择,第二选择,第三选择等的聚合函数?

Sea*_*ean 7 mysql

想象一下,我在名为"messages"的表中有以下数据:

message_id | language_id | message
------------------------------------
1            en            Hello
1            de            Hallo
1            es            Hola
2            en            Goodbye
2            es            Adios
Run Code Online (Sandbox Code Playgroud)

(请注意,我没有"Goodbye"的德语翻译.)

我想为说英语和德语但更喜欢德语的用户选择消息.

意思是,我想要一个看起来像这样的结果集:

message_id | language_id | message
------------------------------------
1            de            Hallo
2            en            Goodbye
Run Code Online (Sandbox Code Playgroud)

但是,嗯,它证明是棘手的.有任何想法吗?

Sea*_*ean -2

本文描述了我找到的最快的解决方案,它给出了我想要的结果集:

http://onlamp.com/pub/a/mysql/2007/03/29/emulated-analytic-aka-ranking-functions-with-mysql.html