0
私はこの問題についてリンクのzilionを読んだが、私が混乱するほど多くを読んだ。
私のDBには、「YYYY-MM-DD」形式の日付列があります。私は、月と年の変化の数を日数に関係なく数える必要があります。私は現在使用しています:もう一度SQLの日付変換
$query = "SELECT COUNT(data) as visits, COUNT(DISTINCT data) as diffentDates ,MIN(data) as 'MIN', MAX(data) as 'MAX' FROM visiting ";
ここで 'data'は私の列の値です。
これはうまくいきます:訪問の合計、異なる日付の数、最初と最後の訪問を取得します。
問題は 'diffentDates'にあります。それは 'YYMM'の変化のみをカウントすべきです。
私は同じようなものを使用しようとしました:COUNT(DISTINCT (FORMAT (data,'YYMM'))) as diffentDates
しかし、それは私が必要とする(実際にはエラーを出すか、またはすべての日付を選択します)。
「YYYY-MM-DD」から「YYMM」への翻訳(および選択とカウント)に適用する正しい機能は何ですか?
おかげ
列データのSQLタイプは何ですか? TIMESTAMP?日付? DATE_FORMAT()関数をDISTINCTと一緒に使うことができます –