・event_created_at が その日の 0:00~23:59

・event_kind は kind:1

・event_pubkey が多い順に集計

さて、どうしようか

(ずばりなSQLくれた人に3,000 satsを進呈する)

まあ、event_created_at はunixtimestamp になってるんだけど、そこは考慮しなくてOK

Reply to this note

Please Login to reply.

Discussion

テーブル構造 (DDL) が分からないので答えが出せないすねー。

テーブル構造と条件をChatGPTに食わせる

以上

UTCを日本時間考慮したら4/2の分はこんな感じ?

SELECT event_pubkey, COUNT(*) AS event_count FROM events WHERE `event_created_at` >= "2023-04-01 15:00" and `event_created_at` < "2023-04-02 15:00" AND event_kind=1 GROUP BY event_pubkey ORDER BY event_count DESC;

もし PostgreSQL なら event_create_at の部分は to_timestamp(event_created_at) が良さそう。

SELECT encode(event_pubkey::bytea, 'hex'), COUNT(*) AS event_count FROM events WHERE to_timestamp(event_created_at) >= TO_TIMESTAMP('2023-04-01 15:00:00', 'YYYY/MM/DD HH24:MI:SS') and to_timestamp(event_created_at) < TO_TIMESTAMP('2023-04-02 15:00:00', 'YYYY/MM/DD HH24:MI:SS') AND event_kind=1 GROUP BY event_pubkey ORDER BY event_count DESC;

で抽出できそうです。

有難うございます!