今日、MySQL 関数を使用しているときに、非常に奇妙な問題に遭遇しましたGROUP_CONCAT
。
次のクエリがあります。
SELECT SUM(total) FROM order WHERE customer_id='X' AND order_status_id IN ((SELECT GROUP_CONCAT(order_status_id SEPARATOR ',') FROM order_status WHERE profit='1'))
ただし、NULL を返します。
SELECT SUM(total) FROM order WHERE customer_id='X' AND order_status_id IN (1,2,3,4,5,6,7,8)
これは、グループ化されたステータスIDを連結する最初のクエリと同様に機能しますが、合計としてNULLを返します