同じ日の最初の3つのデータを取得するためのMySQLタイムラインデータ

同じ日の最初の3つのデータを取得するためのMySQLタイムラインデータ

テーブルデータを作成する

テーブル `praise_info` を作成します (
 `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'ID',
 `pic_id` varchar(64) デフォルト NULL コメント '画像ID',
 `created_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '作成時刻',
主キー (`id`)、
 キー `pic_id` (`pic_id`) BTREE の使用
) ENGINE=InnoDB AUTO_INCREMENT=3647 DEFAULT CHARSET=utf8 COMMENT='画像テーブル';

データ省略を追加

タイムライン上の最初の2つのデータ

*から選択
(
SELECT *, @num := if(@created_time = DATE_FORMAT(created_time, '%Y-%m-%d'), @num := @num + 1, 1) を row_num として、
@created_time := DATE_FORMAT(created_time, '%Y-%m-%d') を axisTime として praise_info から取得
ID降順で並び替え
) AS 温度
ここで、行番号 < 3;

追伸:MySQLの世代タイムラインを見てみましょう

pro_dim_date が存在する場合はプロシージャを削除します。
tudou@Gyyx
CREATE PROCEDURE pro_dim_date(IN bdate DATE,IN edate DATE)
始める
var DATE DEFAULT bdate を宣言します。
evar DATE DEFAULT DATE_ADD(edate,INTERVAL 1 DAY) を宣言します。
週の日付を宣言します。
eweek DATEを宣言します。
var < evar DO の場合
SET bweek = DATE_ADD(DATE_SUB(var,INTERVAL 1 WEEK),INTERVAL 1 DAY);
SET eweek = DATE_SUB(DATE_ADD(var,INTERVAL 1 WEEK),INTERVAL 1 DAY);
gyyx_report.dim_date に挿入
(
`date_id`、
`日付名`,
`date_of_month`、
`年ID`、
`年名`,
`四半期ID`、
`四半期名`,
`月ID`,
`月名`,
`月名`,
`月_年_ID`、
`週ID`、
`週名`,
`年週番号`,
`年週名`,
`週末`
)
価値観
(
DATE_FORMAT(var,'%Y%m%d'),
DATE_FORMAT(var,'%Y-%m-%d'),
DAYOFMONTH(変数)、
年(変数),
CONCAT(YEAR(var),'年'),
QUARTER(変数)、
CONCAT(QUARTER(var),'quarter'),
DATE_FORMAT(var,'%Y%m'),
CONCAT(YEAR(変数),'年',MONTH(変数),'月'),
CONCAT(MONTH(var),'月'),
月(変数)、
曜日(変数)、
CASE WEEKDAY(var) 0 のとき 'Monday' 1 のとき 'Tuesday' 2 のとき 'Wednesday' 3 のとき 'Thursday' 4 のとき 'Friday' 5 のとき 'Saturday' 6 のとき 'Sunday' END,
WEEKOFYEAR(変数),
CONCAT('第',WEEKOFYEAR(var),'周(',MONTH(bweek),'月',DAY(bweek),'日~',MONTH(eweek),'月',DAY(eweek),'日'),
CASE WHEN WEEKDAY(var)>4 THEN 'Yes' ELSE 'No' END
);
SET var=DATE_ADD(var,INTERVAL 1 DAY);
終了しながら;
終わり

電話:

pro_dim_date('2005-01-01','2013-12-31') を呼び出します。

結果:

: : : : : : : : : : : : : : :

テーブル構造:

テーブル `dim_date` を作成します (
&nbsp; `date_id` int(11) NOT NULL COMMENT '20110512',
&nbsp; `date_name` varchar(16) デフォルト NULL コメント '2011-05-12',
&nbsp; `date_of_month` int(11) デフォルト NULL コメント '12',
&nbsp; `year_id` int(11) デフォルト NULL コメント '2011',
&nbsp; `year_name` varchar(16) デフォルト NULL コメント '2011',
&nbsp; `quarter_id` int(11) デフォルト NULL コメント '2',
&nbsp; `quarter_name` varchar(16) デフォルト NULL コメント '2季',
&nbsp; `month_id` int(11) デフォルト NULL コメント '5',
&nbsp; `month_name` varchar(16) デフォルト NULL コメント '5月',
&nbsp; `month_of_year_name` varchar(16) デフォルト NULL コメント '2011年5月',
&nbsp; `month_of_year_id` int(11) デフォルト NULL コメント '201105',
&nbsp; `week_id` int(11) デフォルト NULL,
&nbsp; `week_name` varchar(16) デフォルト NULL,
&nbsp; `week_of_year_id` int(11) デフォルト NULL,
&nbsp; `week_of_year_name` varchar(32) デフォルト NULL,
&nbsp; `is_weekend` enum('No','Yes') DEFAULT NULL COMMENT '週末ですか',
&nbsp; 主キー (`date_id`)、
&nbsp; キー `ix_dim_date_date_name` (`date_name`),
&nbsp; キー `ix_dim_date_month_id` (`month_id`),
&nbsp; キー `ix_dim_date_year_id` (`year_id`),
&nbsp; キー `ix_dim_date_quanter_id` (`quarter_id`),
&nbsp; キー `ix_dim_date_week_of_year_id` (`week_of_year_id`,`week_of_year_name`)
) エンジン=MyISAM デフォルト文字セット=latin1

要約する

上記は、私が紹介した当日のデータを取得するためのMysqlタイムラインデータの最初の3つです。お役に立てば幸いです。ご質問がある場合は、メッセージを残してください。すぐに返信します。また、123WORDPRESS.COM ウェブサイトをサポートしてくださっている皆様にも感謝申し上げます。
この記事が役に立ったと思われた方は、ぜひ転載していただき、出典を明記してください。ありがとうございます!

以下もご興味があるかもしれません:
  • 指定された期間内のすべての日付または月を取得する MySQL ステートメント (ストアド プロシージャの設定やテーブルの追加は不要)
  • MySQL DATEDIFF 関数を使用して 2 つの日付間の時間間隔を取得する方法
  • 一定期間の日ごと、時間ごとの統計データを取得するMySQLの詳しい説明
  • 今日と昨日の 0:00 タイムスタンプを取得する MySQL の例
  • mysqlは昨日の日付、今日の日付、明日の日付、前の時間と次の時間の時刻を取得します
  • mysqlは指定された期間内の統計データを取得します
  • MySQLで時間を取得する方法

<<:  Linux ディスク管理 LVM の使用

>>:  WeChat アプレット計算機の例

推薦する

HTMLテーブルの詳細な説明

機能: データ表示、テーブルアプリケーションシナリオ。 <table> テーブル<...

1つの記事でJavaScript DOM操作の基本を学ぶ

DOM の概念DOM: ドキュメント オブジェクト モデル: ドキュメント オブジェクト モデルは、...

MySQLの関連ロックについての簡単な理解

この記事は主にInnoDBのロックに関する知識を素早く理解してもらうことを目的としています。 Roc...

VMware Workstation16 と Navicat リモート接続での Centos7 での MySQL8.0 インストール プロセス

目次1. CentOS7+MySQL8.0、yumソースインストール2. MySQLにログインしてパ...

CSSを使用してすべての子要素を選択する方法の詳細な説明

CSS を使用してすべての子要素を再帰的に選択するにはどうすればよいですか?以下の記事では、CSS ...

実稼働環境でのNginx高可用性ソリューションの実装プロセスの分析

準備: 192.168.16.128 192.168.16.129 2 台の仮想マシン。 Nginx...

Vueはスライダードラッグ検証機能の全プロセスを実現します

レンダリング 骨組みを定義し、HTMLとCSSを記述するHTML部分 <テンプレート> ...

ファイアウォールの iptables 戦略を使用して Linux サーバー上のポートを転送する方法

2つの異なるサーバー間の転送ポート転送を有効にするまず、デフォルトでは無効になっている IP 転送機...

CSS で中空マスク レイヤーを実装するサンプル コード

この記事の内容: ページ中空マスクレイヤー、ページ中空マスクガイドレイヤー、画像中空マスク通常のマス...

MySQL での正規表現の使用に関する詳細

目次1. はじめに2. 製品テーブルを準備する2.1 ステートメントの順序2.2 大文字と小文字の区...

Docker のインストールと構成コマンドのコード例

Dockerのインストール依存パッケージをインストールする sudo yum install -y ...

MySQL 5.7 でパスワードを忘れた場合の解決方法の詳細な説明

環境: [root@centos7 ~]# uname -r 3.10.0-514.el7.x86_...

XHTML チュートリアル: 初心者のための XHTML の基礎

<br />当サイトのオリジナルコンテンツですので、転載の際は出典を123WORDPRE...

JS 1次元配列を3次元配列に変換する例

今日、CSDN の Q&A セクションで友人が質問をしているのを見ました。彼は 1 次元配列...

HTML検証 HTML検証

HTML 検証はHTML 検証を指します。これは、HTML ドキュメントを分析し、標準の HTML ...