Mysql
 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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Поръчайте MySQL таблица по две колони

  2. Грешка за отказан достъп при използване на mysql_real_escape_string()

  3. Създайте MySQL съхранена функция с динамичен брой аргументи

  4. Моето Ajax повикване не работи - Опитвам се да попълня jstree чрез ajax php &mysql JSON

  5. Изтриване на дублиращи се редове в MySQL (игнорира първичен ключ)