2017-06-10 8 views
0

私はすでに3日間は解決できない1つの問題に遭遇しました。 問題は現在、日付の2つの列( "yyyy-mm")のデータベースがあり、電話番号は一意ではありません。私は毎月何人の新規顧客を探したいのですか?まあ、数式は大まかに(新しいクライアントは最初の月+新しいクライアントは来月です....)です。顧客が新しい顧客と見なされる最初の月を満たしていれば、もう1ヶ月で新しい顧客が不足しています。カウントが十分である直下あなたの例を1として新しいクライアントを見つける方法は?

+0

だから問題は何ですか? – Mureinik

+0

声明を混乱させます: - 「公式は大体最新です(新しいクライアントは最初の月、新しいクライアントは翌月です...)。顧客が新しい顧客とみなされる最初の月を満たしていれば、もう1ヶ月で新しい顧客が不足しています。 ' –

+0

正しく説明できますか? – user55924

答えて

1

が何かをしてみてくださいこのような:

select year(f2.DateColumn) YearCol, month(f2.DateColumn) MonthCol, count(f2.PhoneNumber) NbNewPhone 
from (
     Select f1.*, row_number() over(partition by f1.PhoneNumber order by f1.DateColumn) rang 
     from yourTable f1 
) f2 
where f2.rang=1 
group by year(f2.DateColumn), month(f2.DateColumn) 
order by 1, 2 

かの列が日付でない場合

select f2.DateColumn, count(f2.PhoneNumber) NbNewPhone 
from (
     Select f1.*, row_number() over(partition by f1.PhoneNumber order by f1.DateColumn) rang 
     from yourTable f1 
) f2 
where f2.rang=1 
group by f2.DateColumn 
order by 1, 2 
+0

メッセージ156、レベル15、状態1、行3 ' 。 –

+0

私はクエリがより正確だと思います。 –

+0

あなたはエラーがありますか?列名を変更しましたか? – Esperento57

0

Select DateColumn, Count(PhoneNumber) from yourTable 
    Group by DateColumn 

Datecolumnは、日付データ型でYYYY-MM-DDとして本当の日付である場合は、以下のように問い合わせることができます:

Select year(datecolumn), month(datecolumn), count(PhoneNumber) from yourTable 
    group by year(datecolumn), month(datecolumn) 
+0

どちらの例も正しい答えを得るのに役立ちませんでした。 –

+0

サンプル入力データセットと期待される出力を提供する必要がある可能性があります。上の例のように、最初のクエリはカウントを返します。 –

関連する問題