同じ日の最初の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 アプレット計算機の例

推薦する

MySQL サーバー ログイン エラー ERROR 1820 (HY000) の解決方法

障害サイト: MySQL サーバーにログインし、どのコマンドを実行してもこのエラーが発生します my...

HTML における要素の水平および垂直中央揃えに関する議論

ページをデザインするときには、ログイン ウィンドウを中央に配置するなど、DIV を中央に配置し、ペー...

Linux システムの最適化 (カーネルの最適化) に関するいくつかの提案

スワップを無効にするサーバーがデータベース サービスまたはメッセージ ミドルウェア サービスを実行し...

MySQLの自己接続と結合の詳細な理解

1. MySQL 自己接続MySQL では、情報を照会するときに自分自身に接続 (自己接続) する必...

WindowsにMySQL5.7圧縮パッケージを素早くインストールする

この記事では、Windows に MySQL 5.7 圧縮パッケージをインストールする方法について説...

Ubuntuがインターネットに接続できない場合の解決策

問題の説明:デスクトップ コンピューターとキャンパス ネットワークを使用して、有線モードでインターネ...

Pycharmとsshリモートアクセスサーバーdockerの詳細なチュートリアル

背景: 一部の実験はサーバー上で完了する必要があります。したがって、リモート サーバー上のコードをロ...

SQL ROW_NUMBER() および OVER() メソッドのケーススタディ

構文フォーマット: row_number() over(partition by grouping ...

要素UIポップアップコンポーネントをカプセル化する手順

el-dialogをコンポーネントとしてカプセル化するelement-ui を使用する場合、ポップア...

ウェブサイトの高速化における CDN、SCDN、DCDN の違いは何ですか?どうやって選ぶ?

1. CDNこれは、Web サイト上で最もよく使用される加速機能です。分散サーバー レイアウトによ...

CentOS7仮想マシンで固定IPアドレスを設定する方法

私の開発環境は、VMWare 仮想マシンに CentOS をインストールし、ホスト ファイルにインタ...

Docker ケース分析: MySQL データベース サービスの構築

目次1 設定ディレクトリとデータディレクトリを作成する3 イメージからホストに構成ファイルをコピーす...

CSS の div の下の同じ行にある複数の要素を右揃えにする

方法1:フロート:右さらに、フローティングにするとレイアウトがよりコンパクトになります(隙間がなくな...

Vue で Axios 非同期リクエスト API を使用する方法

目次基本的なHTTPリクエストの設定async/await を使用した Axios Axios によ...

IE8互換表示(IE7モード)とスタンドアロンIE7の違いの詳細な説明

1つ。 IE8 互換表示の概要<br />新しいバージョンのブラウザが古い Web サイ...