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

推薦する

CSS3は、欠けた角の長方形、折り畳まれた角の長方形、欠けた角の境界線を実装しています。

序文数日前、偶然、コーナーの四角形が欠落している機能に遭遇しました。最初に頭に浮かんだのは、必要な場...

負のz-indexを持つ要素がクリックできない問題の解決策

最近、ポップアップ広告に取り組んでいました。デフォルト ページには z-index が設定されていな...

MySQL インデックスの左端原則のサンプルコード

序文最近、MySQL のインデックスについて読んでいました。結合されたインデックスを見ると、左端の原...

重複したMySQLレコードを現場でチェックし、処理する実践的な記録

目次序文分析するデータ合計繰り返し率どこにあるかと持っているかの違い要約する序文私はソフトウェアの導...

Hyper-V インストール CentOS 8 の問題の分析

CentOS 8 がリリースされてから随分経ちました。Linux 仮想マシンをいじっている人間として...

MySQL でよく使われる型変換関数の概要 (推奨)

1. Concat関数。よく使用される接続文字列: concat 関数。たとえば、SQLクエリ条件...

JS で配列の重複排除を実装する 7 つの方法

目次1. Set()+Array.from() を使用する2. 2層ループ+アレイ接合方式の使用3....

CentOS 7にMySQLをインストールする詳細な手順

CentOS7では、MySQLをインストールすると、MariaDBもデフォルトでインストールされます...

Vueコンポーネントのルーティング強調表示問題の解決策

序文以前は、キャッシュを使用してルートを強調表示していました。すべてのルートをトラバースし、クリック...

JavaScript キャンバス テトリス ゲーム

テトリスは非常に古典的な小さなゲームで、私もそれを書いてみました。しかし、できるだけ簡潔で論理的なコ...

Windows での MySQL 5.7.18 のインストールと設定のチュートリアル

この記事では、WindowsでのMySQL 5.7.18のインストールと設定のチュートリアルを参考ま...

Vue の基本的な手順の例のグラフィック説明

目次1. v-on指令1. 基本的な使い方2. 糖衣構文3. イベントパラメータ4. イベント修飾子...

LinuxスレッドのPID(TID、LWP)を取得するいくつかの方法の詳細な説明

Linux C/C++ では、スレッド レベルの操作は通常、pthread ライブラリを通じて実行さ...

Vue はシェイク機能を実装します (ios13.3 以降と互換性があります)

最近、shake.jsを使用して、shakeに似た機能を作成しました。ただし、shake機能はios...