ホームページ  >  に質問  >  本文

MySql 5.5.34 で各曜日の最初の 2 つのエントリを取得する方法

<p>MySQL テーブルに列 <strong>TENANT_NAME</strong>、<strong>MAX_CALLS</strong>、<strong>TIME_STAMP</strong> があり、<strong>主キーがありません < /strong> 、リクエストに応じて 1 時間ごとにデータを挿入し、同じ名前を繰り返すことができます。 </p> <p>ここで、追加する必要があるグループ名と合計コールを取得し、曜日ごとに上位 2 つのエントリを取得したいと思います。 </p> <p>例: 22:49 データを挿入</p> <pre class="brush:php;toolbar:false;">TENANT_NAME、MAX_CALLS、TIME_STAMP RS1、20、2022-12-07 22:49:17 RS2、10、2022-12-07 22:49:17 RS3、2、2022-12-07 22:49:17</pre> <p>次の時間 23:49</p> <pre class="brush:php;toolbar:false;">RS1、15、2022-12-07 23:49:17 RS2、0、2022-12-07 23:49:17 RS3、20、2022-12-07 23:49:17</pre> <p>このようにして、1 年分のデータが得られます</p> <p>次に、2 レコードの名前グループを 1 週間毎日まとめたいと思います</p> <p>このように</p> <pre class="brush:php;toolbar:false;">RS1、35、MON RS3、22、MON...など RS4、40、SUN RS2、35、SUN <p>このクエリを試してみたところ、名前と合計通話数でグループ化してDAYNAMEを表示できましたが、曜日ごとに上位2レコードが必要です。 </p> <pre class="brush:php;toolbar:false;">TENANT_LIC_DISTRIBUTION から a.TENANT_NAME,SUM(a.MAX_CALLS),DAYNAME(a.TIME_STAMP) をグループとして選択します (a.TENANT_NAME,day(a.TIME_STAMP) ) a.MAX_CALLS、a.TIME_STAMP による順序。 RS1、35、MON RS3、22、月 RS2、10、MON RS3、30、火曜日 RS2、20、火曜日 RS1、10、火曜日...など RS1、20、SUN RS2、10、SUN RS3、1、SUN <p>こんな感じにしたいです</p> <pre class="brush:php;toolbar:false;">RS1、35、MON RS3、22、月 RS3、30、火曜日 RS2、20、火曜日....など RS1、20、SUN RS2、10、SUN <p>助けてください</p> <p>ありがとうございます</p>
P粉676588738P粉676588738390日前487

全員に返信(1)返信します

  • P粉466643318
  • キャンセル返事