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

推薦する

Better-scrollはメニューとコンテンツをリンクする効果を実現します

1. 基本的な使い方 <!DOCTYPE html> <html lang=&qu...

ウェブページ作成時に標準 HTML コードを使用する際のポイント

<br />多くのウェブサイト デザイナーが犯す最も一般的な間違いは、ウェブページが I...

DELL R730 サーバーの構成 RAID とインストール サーバー システムとドメイン制御の詳細なグラフィック チュートリアル

最近、会社で DELL R730 サーバーを購入したのですが、偶然次のチュートリアルを見つけたので、...

ES6実装クラスのプライベート変数の書き方をいくつか詳しく説明します

プライベート変数のクロージャ実装プライベート変数は共有されないnew キーワードにより、 perso...

Linux でアップロードされたファイルのスケジュールされたバックアップと増分バックアップを実装する方法

導入Alibaba Cloud のような OSS ストレージ サービスを使用している場合は、サービス...

Python スクリプトを Ubuntu で直接実行する方法

翻訳プログラムを例に挙げてみます。前回はWindowsでのアプリケーションのパッケージ化についてお話...

MySQL 結合クエリの原則の知識ポイント

MySQL 結合クエリ1. 基本概念2 つのテーブルの各行をペアで水平に接続して、すべての行の結果を...

Docker は 2003 年の問題を解決するために MySQL リモート接続を導入しました

MySQLへの接続ここでは、リモート接続に navicat を使用します。MySQL に接続する前に...

Zookeeperスタンドアロン環境とクラスタ環境の構築

1. 単一マシン環境の構築# 1.1 ダウンロードZookeeper の対応するバージョンをダウンロ...

シャトルボックス機能を実装するためのVueの詳細なコード

Vue - シャトルボックス機能を実装します。効果図は次のようになります。 CS 。移行{ ディスプ...

Linux で SSH サーバー エイリアスを作成する 2 つの方法

序文SSH 経由でさまざまなリモート システムに頻繁にアクセスする場合は、このトリックを使用すると時...

Google ブラウザのラベルと入力間のスペースに関する小さな問題

最初にコード、次にテキストコードをコピーコードは次のとおりです。 <!DOCTYPE html...

Dockerの急速な拡張の高度な方法

1. コマンド方式作成された Swarm クラスターで nginx サービスを実行し、--repli...

Linux の操作とメンテナンスの基本システムディスク管理チュートリアル

1. ディスクパーティション: 2. fdiskパーティションディスクが2 TB未満の場合はfdis...