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

MySQL SELECT MINは常に表示されますが、BETWEENの日付の場合にのみ返されます

    顧客によるすべてのトランザクションを最小限に抑える場合は、それが正しい期間であるかどうかを確認して、次のような状況になります...

    これにより、顧客の最初の購入が期間内であったかどうかについて、はい/いいえのフラグが表示されます...

    SELECT CASE COUNT(*) WHEN 0 THEN 'Yes' ELSE 'No' END As [WasFirstTransInThisPeriod?]
    FROM (  
            SELECT bb_member.member_id As [member_id], MIN(bb_transactions.trans_tran_date) AS temp_first_time 
            FROM bb_business      
            RIGHT JOIN bb_transactions ON bb_transactions.trans_store_id = bb_business.store_id 
            LEFT JOIN bb_member ON bb_member.member_id = bb_transactions.trans_member_id 
            WHERE bb_business.id = '5651' 
            GROUP BY bb_member.member_id
        ) T
    WHERE T.temp_first_time BETWEEN '2010-08-01' AND '2010-09-13'
    ORDER BY T.member_id DESC
    

    (これはT-SQLにありますが、mySQLでも同様にこれを実現する方法がわかるはずです)

    サイモン




    1. SQLServerでデータベースの破損に対処する方法を知る方法

    2. ORA-02287:シーケンス番号はここでは許可されていません

    3. mysqlデータを他のテーブルにUNPIVOT

    4. 現在の日付をJavaからMySQLの日付列に設定するにはどうすればよいですか?