想象一下,我在名为"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