1. テストテーブルを作成する テーブル `testsign` を作成します ( `userid` int(5) デフォルト NULL, `username` varchar(20) デフォルト NULL, `signtime` タイムスタンプ NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP、 `type` int(1) デフォルト '0' コメント '0はサインインデータ、1はサインイン日付辞書データを表します' ) エンジン=InnoDB デフォルト文字セット=utf8 2. テストデータを挿入します。サインイン時間は5月21日から6月5日までです。ライブで記述できますが、ストアドプロシージャを記述する必要があります。私は怠け者です。3番目のポイントであるサインインデータを取得するためのコードに焦点を当てる必要があります。ハハ `testsign` (`userid`, `username`, `signtime`, `type`) に値 ('72164','Dictionary','2017-05-21 00:00:00','1') を挿入します。 `testsign` (`userid`, `username`, `signtime`, `type`) に値 ('72164','Dictionary','2017-05-22 00:00:00','1') を挿入します。 `testsign` (`userid`, `username`, `signtime`, `type`) に値 ('72164','Dictionary','2017-05-23 00:00:00','1') を挿入します。 `testsign` (`userid`, `username`, `signtime`, `type`) に値 ('72164','Dictionary','2017-05-24 00:00:00','1') を挿入します。 `testsign` (`userid`, `username`, `signtime`, `type`) に値 ('72164','Dictionary','2017-05-25 00:00:00','1') を挿入します。 `testsign` (`userid`, `username`, `signtime`, `type`) に値 ('72164','Dictionary','2017-05-26 00:00:00','1') を挿入します。 `testsign` (`userid`, `username`, `signtime`, `type`) に値 ('72164','Dictionary','2017-05-27 00:00:00','1') を挿入します。 `testsign` (`userid`, `username`, `signtime`, `type`) に値 ('72164','Dictionary','2017-05-28 00:00:00','1') を挿入します。 `testsign` (`userid`, `username`, `signtime`, `type`) に値 ('72164','Dictionary','2017-05-29 00:00:00','1') を挿入します。 `testsign` (`userid`, `username`, `signtime`, `type`) に値 ('72164','Dictionary','2017-05-30 00:00:00','1') を挿入します。 `testsign` (`userid`, `username`, `signtime`, `type`) に値 ('72164','Dictionary','2017-05-31 00:00:00','1') を挿入します。 `testsign` (`userid`, `username`, `signtime`, `type`) に値 ('72164','Dictionary','2017-06-01 00:00:00','1') を挿入します。 `testsign` (`userid`, `username`, `signtime`, `type`) に値 ('72164','Dictionary','2017-06-02 00:00:00','1') を挿入します。 `testsign` (`userid`, `username`, `signtime`, `type`) に値 ('72164','Dictionary','2017-06-03 00:00:00','1') を挿入します。 `testsign` (`userid`, `username`, `signtime`, `type`) に値 ('72164','Dictionary','2017-06-04 00:00:00','1') を挿入します。 `testsign` (`userid`, `username`, `signtime`, `type`) に値 ('72164','Dictionary','2017-06-05 00:00:00','1') を挿入します。 `testsign` (`userid`, `username`, `signtime`, `type`) に値を挿入します('800675','Wu Xiaoshuang サインインデータ','2017-05-21 00:00:00','0'); `testsign` (`userid`, `username`, `signtime`, `type`) に値を挿入します('800675','Wu Xiaoshuang サインインデータ','2017-05-22 00:00:00','0'); `testsign` (`userid`, `username`, `signtime`, `type`) に値を挿入します('800675','Wu Xiaoshuang サインインデータ','2017-05-23 00:00:00','0'); `testsign` (`userid`, `username`, `signtime`, `type`) に値を挿入します('800675','Wu Xiaoshuang サインインデータ','2017-05-24 00:00:00','0'); `testsign` (`userid`, `username`, `signtime`, `type`) に値を挿入します('800675','Wu Xiaoshuang サインインデータ','2017-05-25 00:00:00','0'); `testsign` (`userid`, `username`, `signtime`, `type`) に値を挿入します('800675','Wu Xiaoshuang サインインデータ','2017-05-26 00:00:00','0'); 3. 継続的なサインインデータを照会する SELECT * FROM testsign WHERE TYPE=0 AND DATE_FORMAT(符号時刻,'%Y%m%d')>( SELECT IFNULL(MAX(DATE_FORMAT(signtime,'%Y%m%d')),"20170520") FROM testsign WHERE TYPE=1 AND DATE_FORMAT(signtime,'%Y%m%d')<=DATE_ADD(NOW(), INTERVAL -1 DAY) DATE_FORMAT(signtime,'%Y%m%d') が ( ではない TYPE=0 かつ userid=800675 の場合、testsign から DATE_FORMAT(signtime,'%Y%m%d') を選択 ) ) AND DATE_FORMAT(signtime,'%Y%m%d')<='20170605' かつユーザーID=800675 中断のないデータ 23日のデータを削除し、24日からカウントを開始し、3日連続で署名します 上記は、編集者が紹介した継続サインイン機能のMYSQL実装です。皆様のお役に立てれば幸いです。ご質問がございましたら、メッセージを残していただければ、編集者がすぐに返信いたします。また、123WORDPRESS.COM ウェブサイトをサポートしてくださっている皆様にも感謝申し上げます。 以下もご興味があるかもしれません:
|
<<: CentOS 7 で PHP 5.4 を 5.6 にアップグレードする方法の簡単な分析
MySQL の基盤となるデータ構造が B+ ツリーであることは誰もが知っていますが、ではなぜ赤黒ツリ...
質問: int(1) と tinyint(1) の違いは何ですか?このような設計では、いずれにしても...
Docker テクノロジの開発により、マイクロサービスの実装にさらに便利な環境が提供されます。Doc...
JD カルーセルは、動的な効果を追加せず、主に位置決めの知識を使用して、純粋な HTML と CS...
クリックされたボタンには赤い画像スタイルを実装し、選択されていない他のボタンには灰色の画像スタイルを...
MySQL は強力なオープンソース データベースです。データベース駆動型アプリケーションの数が増える...
Go は、シンプルで信頼性が高く、効率的なソフトウェアを簡単に構築できるオープンソース プログラミン...
目次1. インストールの準備1. Linux関連情報の表示(Linuxコマンドライン操作) 2. M...
npm インストールチュートリアル: 1. Node.jsインストールパッケージをダウンロードする公...
まず、図をダウンロードしてください 1. まず、centos7に付属しているmariadbをアンイン...
序文この記事は主に、日常の Web ページ制作で遭遇する問題解決スキルの一部をまとめ、皆さんの参考と...
メモリストレージエンジンに関する知識ポイントメモリ ストレージ エンジンは日常業務ではほとんど使用さ...
2008年5月12日に四川省汶川市で発生した地震により、多くの命が失われ、遺憾なことと存じます。国務...
インターネット上には、正しい方法であっても、使用しても正しい結果が得られない方法が数多くあります。正...
1. 前提条件JDKがインストールされましたecho $PATHソフトリンクを作成し、JDKのインス...