誕生日、年齢の場所、スコアが記載されたテーブルがあり、スコアがnullでなく、タイムスタンプフィールドがない2つの日付の間に作成されたレコードの数を取得したいと思います。
タイムスタンプフィールドがない場合、どうすればよいですか。
メタデータはありますか?ある場合、どのようにクエリを実行できますか?
他のユーザーが指摘しているように、ここにエコーされます。
データベースに日付参照フィールドがないため、1つに一致するレコード、または2つの日付の間にあるレコードを引き出すことはできません。
これからの最善の策は、日付フィールドを追加し、データがDBに書き込まれるときに、mysql now()関数を使用して日付/日時を挿入することです。それを達成するためのいくつかの異なる方法がありますが、これはおそらく最も簡単です:
mysql_query("
INSERT INTO users (first, last, whenadded)
VALUES ('$first', '$last', now())
";
テーブルにタイムスタンプを追加する
次のようなクエリを試してください。
SELECT COUNT(*)
FROM TABLE_NAME
WHERE BIRTHDATE BETWEEN 'DATE1' AND 'DATE2'
AND SCORE IS NOT NULL AND TIMESTAMP IS NULL;
timestamp
デフォルト値を として既存のテーブルに列を追加しNULL
、上記のステートメントを照会すると、機能するはずです。すでにレコードが存在するテーブルに列を追加すると、既存のレコードの新しい列の対応する値は空白になります。