sql >> データベース >  >> RDS >> Mysql

MySQLは最大値を返すか、1つの列に値がない場合はnullを返します

    どれくらい速くなるかわかりませんが、次のように解決できると思います:

    SELECT ID, min(ORDER_DATE) AS OD,
    IF(COUNT(*)=COUNT(CANCEL_DATE),max(CANCEL_DATE),NULL) AS CD 
    FROM stats GROUP BY CLIENT
    

    テストできませんでしたが、このソリューションの背後にある考え方は、count(cancel_date) null以外のすべてのエントリをカウントし、count(*)と等しい場合 つまり、null値はなく、max(cancel_date)を返します。 、それ以外の場合はnull。



    1. MySQLでのユーザーデータの操作

    2. 正規表現によるMySQLGROUP?

    3. Oracleの日時形式要素のリスト

    4. mySQL-非正規化する必要がありますか?