我有一個products
表產品名稱不同的語言:如何在Mysql中爲GROUP BY定義自己的聚合函數?
product-id | lang-no | name
我想列出每種產品一次,但使用不同語言的名稱。
我沒有所有產品名稱的所有語言,所以有時我必須回到另一種語言。
要挑選具有最低或最高數目的語言,我用
SELECT * FROM products JOIN
(SELECT product-id, MIN(lang-no) AS minlang FROM products GROUP BY product-id)
AS u ON products.product-id = u.product-id AND products.lang-no=minlang
但現在我需要定義其他聚合函數,而不是最小或最大,所以我可以喜歡郎3號爲例。
如何在Mysql中定義我自己的聚合函數,例如:一些IF邏輯?
如果'產品'可以有多種語言,並且您希望我們使用* *不同*語言,那麼所選語言應該與哪些不同? – toonice
@toonice:當我用西班牙文名稱列出一個列表時,最好在列表中使用英文或其他任何名稱,而不是完全放棄該產品。現在,我沒有對後備語言的偏好。任何事情都可以。 –