MySQLのGROUP_CONCAT

MySQLには「GROUP BY して、あるカラムの値をGROUP毎に連結して返す」ことができる関数があります。
GROUP_CONCATの中でdistinctやorder_byも可能で、結構使いどころがありそうです。
注意点としては、文字列型が前提なので、Intなどの場合はCASTが必要です。

SELECT tbl_article.id, GROUP_CONCAT(tbl_post.name SEPARATOR ' ')
FROM tbl_article 
INNER JOIN tbl_post ON tbl_article.id = tbl_post.article_id
GROUP BY tbl_post.article_id;

MySQLで日付妥当性チェック

SQLレベルで日付の妥当性チェックをしたいことが、たまにはあります。
MySQLの日付関数の多くは、妥当でない日付を与えたときにZEROかNULLを返します。
例えば、リファレンスマニュアルにある例では

SELECT STR_TO_DATE('2003-15-10', '%Y-%m-%d')

これはNULLを返します