sql >> Database >  >> RDS >> Mysql

MySQL voorwaardelijke self-join

Het lijkt erop dat je de vroegste "imp" nodig hebt voor elke gebruiker. Dan kunt u aggregeren op de transacties na dat tijdstip:

SELECT dl.appid, SUM(dl.type = 'click') / SUM(dl.type = 'imp')
FROM dialoglog dl LEFT JOIN
     (SELECT dl2.userId, MIN(ds) as imp_ds
      FROM dialoglog dl2
      WHERE type = 'imp'
      GROUP BY dl2.userid
     ) dlimp
     ON dl.userid = dlimp.userid 
WHERE dl.ds >= dlimp.imp_ds
GROUP BY dl.appid;



  1. Hoe WEEKOFYEAR() werkt in MariaDB

  2. CodeIgniter en AJAX formulier indienen

  3. Trek maanden af ​​van de huidige datum sql

  4. Is pymysql-verbindingsdraad veilig? Is de pymysql-cursorthread veilig?