mysql select の最大値を取得しようとしましたが、タイムスタンプを含まない行が 1 つある場合は null/empty/0 にしたいと考えています。
表の統計 (簡略化):
ID CLIENT ORDER_DATE CANCEL_DATE
1 5 1213567200
2 5 1213567200
3 6 1210629600 1281736799
4 6 1210629600 1281736799
5 7 1201042800 1248386399
6 7 1201042800
7 8 1205449200 1271282399
私は現在、最低注文日 (空になることはないので問題ありません) と最大キャンセル日を取得しようとしています。クライアントがサブスクリプションを既にキャンセルしている場合、キャンセル日は満たされますが、クライアントがまだアクティブである場合、キャンセル日はまったくありません。
クエリ:
SELECT ID, min(ORDER_DATE) AS OD, max(CANCEL_DATE) AS CD FROM stats GROUP BY CLIENT
戻り値:
ID OD CD
5 1213567200 // fine
6 1210629600 1281736799 // fine
7 1201042800 1248386399 // Should be empty
8 1205449200 1271282399 // fine
クライアントに空の列が 1 つ (または複数) ある場合、空/0/NULL を返す方法がわかりません。NULL フィールドでも試してみました。
ヒントをありがとう。