メンバーシップサブタイプごとの1時間あたりのMySQLカウントチェックイン

アーロンチャイルド

私はMySQLを初めて使用するので、潜在的な混乱に耐えてください。さまざまなメンバーシップサブタイプと、各サブタイプが特定の日に1時間あたりにチェックインした回数を表示するクエリを作成する必要があります。これが私がこれまでに思いついたものです:

SELECT 
 customers.CUSTOMER_CUSTOM_TYPE AS Subtype,
 COUNT(CASE
    WHEN checkins.POSTDATE BETWEEN '%17:00:00' AND '%17:59:59' THEN 1
    ELSE 0
    END) AS '5pm',
 COUNT(CASE
    WHEN checkins.POSTDATE BETWEEN '%18:00:00' AND '%18:59:59' THEN 1
    ELSE 0
    END) AS '6pm',
 COUNT(CASE
    WHEN checkins.POSTDATE BETWEEN '%19:00:00' AND '%19:59:59' THEN 1
    ELSE 0
    END) AS '7pm'
FROM
 checkins,
 customers
WHERE
 checkins.CUSTOMER_ID = customers.CUSTOMER_ID
    AND checkins.POSTDATE LIKE '2017-10-05%'
GROUP BY customers.CUSTOMER_CUSTOM_TYPE;

簡潔にするために、3時間しか含めていません。POSTDATEが変更されたにもかかわらず、1時間ごとに同じ数値を取得し続けます。テーブルの設定は正しいです:

MySQLメンバーシップサブタイプチェックイン/時間

他のより単純なクエリでは、特定の時間枠で顧客のCHECKIN_IDをカウントすることにより、チェックインをカウントしました。顧客には、チェックインするたびに異なる一意のチェックインIDが与えられます。これについては正しく行っていますか?もっと簡単な方法はありますか?どんな助けでも大歓迎です!

ゴードン・リノフ

適切なjoin構文の使用法を学びます。句にコンマを使用しないでくださいfrom

クエリのより単純なバージョンは次のようになります。

SELECT cu.CUSTOMER_CUSTOM_TYPE AS Subtype,
       SUM( hour(ch.POSTDATE) = 17) AS `5pm`,
       SUM( hour(ch.POSTDATE) = 18) as `6pm`,
       SUM( hour(ch.POSTDATE) = 19) as `7pm`
FROM checkins ch JOIN
     customers cu
     ON ch.CUSTOMER_ID = cu.CUSTOMER_ID
WHERE DATE(ch.POSTDATE) = '2017-10-05'
GROUP BY cu.CUSTOMER_CUSTOM_TYPE;

ノート:

  • テーブルエイリアスを使用します。クエリの記述と読み取りが容易になります。
  • 日付と時刻に文字列比較を使用しないでください。これにより、比較のために日付が抽出されます(その列にインデックスがある場合は、別の方法があります)。
  • LIKEパターンはでは機能しませんBETWEEN私はそれをより単純なものに置き換えましたHOUR()
  • これは、ブール式を数値コンテキストの数値として扱うMySQLショートカットを使用するためcase、必要ありません。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

Javaとサーブレットで1日あたりのウェブサイトのヒットカウンターをカウントする方法..?

分類Dev

PHPとMySQLのメンバーシップサイト

分類Dev

ウェブサイトのメニューバーオプションをクリックする方法は?

分類Dev

プッシュゲートウェイの再起動時のプロメテウスカウントと合計メトリック

分類Dev

サーバーへの.NETラウンドトリップでのタイムゾーンと夏時間

分類Dev

1日あたりのMySQLカウントタイプ

分類Dev

ウェブサイト上のモバイルCSSポーランド語/タッチアップの問題

分類Dev

Webサイトの検索バーにジャンプするための一般的なブラウザショートカットはありますか?

分類Dev

rsnapshot-バックアップポイントごとのパラメータを追加するグリッチ?

分類Dev

2020+のタイプガードを使用した実行時のタイプまたはインターフェイスごとのTypescriptチェックオブジェクト

分類Dev

トップバーであなたのウェブサイトのアイコンを作る方法

分類Dev

Woocommerceサブスクリプションとアカウントファンドプラグイン間のゲートウェイ

分類Dev

チームエクスプローラーでチェックコメントを入力した後、チェックインするためのキーボードショートカットはありますか?

分類Dev

SNS統合タイプ/エンドポイントごとのサブスクリプションまたはクライアントごとのサブスクリプションを使用する必要がありますか?

分類Dev

iOS11の迅速なサイレントプッシュ(バックグラウンドフェッチ、didReceiveRemoteNotification)が機能しなくなりました

分類Dev

イベントプロデューサーごとに1つのトピックVS複数のプロデューサー間で共有される1つのトピックメッセージングアーキテクチャ

分類Dev

コンパイル時間テンプレートのインスタンス化チェック

分類Dev

時間間隔のあるテーブル行インスタンスのスナップショット

分類Dev

さまざまなタイプのオブジェクトのRubyセットメンバーシップ

分類Dev

チェックアウト時間を短縮することにより、Azureパイプラインのパフォーマンスを向上させます

分類Dev

サーバークライアントの場所のためのサイバーカフェプログラムはありますか(インターネットカフェ)

分類Dev

クラブメンバーシップごとのWooCommerce購入の概要(mySQL)

分類Dev

レンタカーのウェブサイトのオーバーブッキングを取り除く方法

分類Dev

リポジトリインジェクションとEntityFrameworkを備えたカスタムメンバーシッププロバイダー

分類Dev

ロードバランサーのタイムアウトに時間がかかるストップアクション

分類Dev

Android / IOSアプリとゲートウェイ(バックエンドサーバー)間のデータ転送のフレームワーク

分類Dev

タイムスタンプとカウントを使用したMySQLクエリのフォーマット

分類Dev

PHP、MySql、JavaScript-サーバーからクライアントへのデータのプッシュ(ライブチャット)

分類Dev

RXJSサブジェクトのサブスクライブ-アクションはプレーンオブジェクトである必要があります。非同期アクションにカスタムミドルウェアを使用する

Related 関連記事

  1. 1

    Javaとサーブレットで1日あたりのウェブサイトのヒットカウンターをカウントする方法..?

  2. 2

    PHPとMySQLのメンバーシップサイト

  3. 3

    ウェブサイトのメニューバーオプションをクリックする方法は?

  4. 4

    プッシュゲートウェイの再起動時のプロメテウスカウントと合計メトリック

  5. 5

    サーバーへの.NETラウンドトリップでのタイムゾーンと夏時間

  6. 6

    1日あたりのMySQLカウントタイプ

  7. 7

    ウェブサイト上のモバイルCSSポーランド語/タッチアップの問題

  8. 8

    Webサイトの検索バーにジャンプするための一般的なブラウザショートカットはありますか?

  9. 9

    rsnapshot-バックアップポイントごとのパラメータを追加するグリッチ?

  10. 10

    2020+のタイプガードを使用した実行時のタイプまたはインターフェイスごとのTypescriptチェックオブジェクト

  11. 11

    トップバーであなたのウェブサイトのアイコンを作る方法

  12. 12

    Woocommerceサブスクリプションとアカウントファンドプラグイン間のゲートウェイ

  13. 13

    チームエクスプローラーでチェックコメントを入力した後、チェックインするためのキーボードショートカットはありますか?

  14. 14

    SNS統合タイプ/エンドポイントごとのサブスクリプションまたはクライアントごとのサブスクリプションを使用する必要がありますか?

  15. 15

    iOS11の迅速なサイレントプッシュ(バックグラウンドフェッチ、didReceiveRemoteNotification)が機能しなくなりました

  16. 16

    イベントプロデューサーごとに1つのトピックVS複数のプロデューサー間で共有される1つのトピックメッセージングアーキテクチャ

  17. 17

    コンパイル時間テンプレートのインスタンス化チェック

  18. 18

    時間間隔のあるテーブル行インスタンスのスナップショット

  19. 19

    さまざまなタイプのオブジェクトのRubyセットメンバーシップ

  20. 20

    チェックアウト時間を短縮することにより、Azureパイプラインのパフォーマンスを向上させます

  21. 21

    サーバークライアントの場所のためのサイバーカフェプログラムはありますか(インターネットカフェ)

  22. 22

    クラブメンバーシップごとのWooCommerce購入の概要(mySQL)

  23. 23

    レンタカーのウェブサイトのオーバーブッキングを取り除く方法

  24. 24

    リポジトリインジェクションとEntityFrameworkを備えたカスタムメンバーシッププロバイダー

  25. 25

    ロードバランサーのタイムアウトに時間がかかるストップアクション

  26. 26

    Android / IOSアプリとゲートウェイ(バックエンドサーバー)間のデータ転送のフレームワーク

  27. 27

    タイムスタンプとカウントを使用したMySQLクエリのフォーマット

  28. 28

    PHP、MySql、JavaScript-サーバーからクライアントへのデータのプッシュ(ライブチャット)

  29. 29

    RXJSサブジェクトのサブスクライブ-アクションはプレーンオブジェクトである必要があります。非同期アクションにカスタムミドルウェアを使用する

ホットタグ

アーカイブ