以下のような顧客詳細のリストを格納するテーブルがあります。ステータスが初めて変更された顧客名が欲しいです。
CREATE TABLE Customers(Row_Id INT NOT NULL PRIMARY KEY auto_increment、 CustomerName VARCHAR(255)、 Created_On date、 Customer_Email VARCHAR(255)、 Looking_Positive tinyint)
表の値は以下のとおりです。
INSERT INTO Customers(CustomerName、Created_On、Customer_Email、Looking_Positive) VALUES('顧客A'、 '20120815'、'CustA@domain.com'、0)、 ('顧客B'、 '20120815'、'CustB@domain.com'、0)、 ('顧客C'、 '20120815'、'CustC@domain.com'、0)、 ('顧客A'、 '20120816'、'CustA@domain.com'、1)、 ('顧客B'、 '20120816'、'CustB@domain.com'、0)、 ('顧客C'、 '20120816'、'CustC@domain.com'、0)、 ('顧客A'、 '20120817'、'CustA@domain.com'、1)、 ('顧客B'、 '20120817'、'CustB@domain.com'、0)、 ('顧客C'、 '20120817'、'CustC@domain.com'、1)、 ('顧客A'、 '20120818'、'CustA@domain.com'、1)、 ('顧客B'、 '20120818'、'CustB@domain.com'、1)、 ('顧客C'、 '20120818'、'CustC@domain.com'、0)、 ('顧客A'、 '20120819'、'CustA@domain.com'、0)、 ('顧客B'、 '20120819'、'CustB@domain.com'、1)、 ('顧客C'、 '20120819'、'CustC@domain.com'、0)、 ('顧客A'、 '20120820'、'CustA@domain.com'、1)、 ('顧客B'、 '20120820'、'CustB@domain.com'、1)、 ('顧客C'、 '20120820'、'CustC@domain.com'、0);
顧客は、売上に変換されるまでテーブルのステータスを1と0に変更することにより、ポジティブに見えるとポジティブに見えないとしてマークされます。
初めてポジティブに見えないことからポジティブに見えるとマークされた顧客を表示するクエリが必要です。つまり、0から1です。顧客名は、特定の日付で初めてポジティブに見えるとマークされた顧客の名前である必要があります。
つまり、クラスで日付を指定してクエリを実行し、日付が20120816の場合、20120815では0であり、20120816では1に変更されたため、顧客Aはポジティブに見えると表示されます。
whereクラスで日付を指定してクエリを実行し、日付が20120821の場合、20120815では0であり、20120816では1に変更されたため、顧客AはLookingPositiveとして表示されません。
初めてポジティブに見えるとマークされた顧客へのクエリが欲しい