問題タブ [groupwise-maximum]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
758 参照

postgresql - プライベート チャットのアーキテクチャ

プライベートチャットサービスをしたいです。これで、メッセージとスレッド (スレッド - ユーザー間の個室) を格納するための関係データベース (PostgreSQL) ができました。

次のテーブルがあります。

1) メッセージ: idtextdatetimesender_idthread_idis_read

2) スレッド: id

3) Thread_Participants: thread_iduser_id

Message テーブルは Thread_Participants テーブルを介して Many_to_Many の関係で Thread と接続されます。

私のアーキテクチャでは、ユーザーは Redis データベースの WebSocets と Pub/Sub を介してメッセージを交換します。

しかし、私の意見では、メッセージを関係データベースに保存する必要があるため、安全性が向上します。多分私は間違っています。

しかし、ユーザーのスレッドの履歴を取得するのに問題があります。次のフィールド (リレーション DB) をリクエストしたいと思います。

スレッド ID

last_message_in_this_thread

count_of_messages_in_this_thread

datetime_of_last_message_in_this_thread

username_of_last_message_in_this_thread

しかし、そのような要求は非常に困難で遅い要求を意味します...どうすれば高速な方法で取得できますか? それとも、メッセージの別の方法またはアーキテクチャがあるのでしょうか?

0 投票する
2 に答える
37 参照

postgresql - postgresでスペースを削除して別の列でグループ化した後に一意の値を取得する方法

私は次のようなテーブルを持っています

スペースを削除した後にすべての一意のメモを取得したいので、結果は次のようになります

スペースを削除すると、 ab cdabcdが同じになるためです。Postgresを使用しています。id 列は一意ではないことに注意してください。

0 投票する
1 に答える
327 参照

python - Python 3.5 でデータ フレームから最大値の正確な位置を見つける方法 - 修正済み

次のように、Python 3.5 に 1 つの DataFrame があります。

このデータフレームの列名は次のとおりです。

この DataFrame を比較的小さなデータ フレームのシーケンスにサブセット化したいと考えています。つまり、各小さなデータ フレームには、次のような 1 つの典型的な日の記録のみが組み込まれています。最初の小さなデータ フレームには、「2011-01-01 00:00:00」から「2011-01-01 23:00:00」、2 番目の小さなデータ フレームには、「2011-01-02 00:00:00」から「2011-01-02 23:00:00」までの情報が含まれていました。 1826 番目の小さなデータ フレームまで、「2015-12-31 00:00:00」から「2015-12-31 23:00:00」までの情報が含まれていました。

@EdChum ヘルプによると、次のコードを試しました。

これにより、列全体、つまり 2011 年 1 月 1 日から 2015 年 12 月 31 日までの各典型的な日の最大値のインデックスが得られました。

これにより、2011 年 1 月 1 日 00:00:00 から 2015 年 12 月 31 日 23:00:00 まで、列全体の各時間レコードの最大値のインデックスが得られました。

ここで、正確な時間レコードを使用して典型的な各日の最大値のインデックスを見つける方法、たとえば、最初の日付 2011-01-01 の全体的な最大値のインデックスは UNF 列であることがわかっていますが、正確な時間を取得するにはどうすればよいですか2011 年 1 月 1 日のこの UNF 列のレコード、つまり、どの時間レコード (2011-01-01 00:00:00 または 2011-01-01 03:00:00) に最大値があるか?

どうもありがとう

0 投票する
4 に答える
2287 参照

mysql - mysql join を使用して一番右のテーブルから 1 行だけを返す方法

私は2つのテーブルを持っています。一番左のテーブルのレコードに対して、右のテーブルの 1 つのレコード (最初に一致したレコード) のみが返されるように、それらを結合したいと考えています。2 つのテーブルには 1 対多の関係があります。以下に表を示します。

イベント テーブル:

チケット表:

これは join を使用して可能ですか? 私は他のアイデアを受け入れます