ホームページ >バックエンド開発 >PHPチュートリアル >mysql はどのようにして前日のレコードをカウントしますか?時間の保存モードは次のとおりです: time()
mysql はどのようにして前日のレコードをカウントしますか?時間ストレージ モードは次のとおりです:
CREATE TABLE `bean` of time() (
`usedate` varchar(12) デフォルト NULL、
統計 Bean データベースの日付フィールドは: usedate
次のように記述します:
select * from Bean where date(usedate) = date_sub(curdate(),interval 1 day);
しかし、エラーが発生し、プロンプトは次のようになりました:
警告: mysql_num_rows( ): 指定された引数は、
の有効な MySQL 結果リソースではありません。おそらく、上記の mysql ステートメントは、時間ストレージが Y-m-d hh:mm のストレージ形式でのみ時間をカウントできます。 time() 、たとえば 1340508737 、前日のレコードを数えることができれば?!
ありがとうございます!
これを次のように変更すると機能しません:
select * from Bean where to_char(usedate,'yyyy-mm-dd') = date_sub(curdate(),interval 1 day);
------解決策-- ---------------- --
SELECT * FROM `bean` WHERE FROM_UNIXTIME(`usedate`, '%Y-%m-%d') = DATE_SUB(CURDATE(), INTERVAL 1 DAY) <div class="clear"></div>