1

次の情報を含むMYSQLテーブルがあります。誰かが登録できるイベントの日時を保持しています。

id日時登録

113629816009-正午
021363586409-正午
0313641912009-正午
041362981600 1-4 pm 0
5 1363586400 1-4 pm 0
6 1364191200 1-4 pm 0
7 1363240800 1-4pm 0
8 1363845600 1-4pm 0
913633272009-正午
0101363327200 1-4 pm 0
11 1363327200 3-7 pm 1

register = 0であるすべてのフィールドをプルし、タイムスロットを持つ各日(月曜日や火曜日などの日)の1つだけを表示するmysqlクエリが必要です。

したがって、registered =0のテーブルからselect*を実行すると、これらの結果が得られ、タイムスタンプを使用して曜日を取得し、PHPwhileループを使用してクエリをループして次のように生成します。

月曜日、月曜日の正午
、月曜日の正午
、月曜日の正午
、月曜日の午後1時
から4時
、月曜日の午後1時から4時
、木曜日の午後1時から4時、
木曜日の午後1時から4時、
金曜日の午後1時から4時、正午
金曜日、午後1時から4時

私が入手したいのは
、月曜日、月曜日の正午、 木曜日の
午後1時から4時、金曜日の午後1時から4時 、金曜日の正午 、金曜日の午後1時から4時です。



ありがとう!

4

1 に答える 1

0

「group by」句を追加する必要があり、これで準備完了です。その日を導き出すのにどの式を使用するのかわかりません。

select date(from_unixtime(date)) as date
    , dayname(from_unixtime(date)) as day
    , time
    , min(date) as cronos
from table
where registered=0
group by date, day, time
order by cronos asc, time asc

以下のコメントに追加された説明に一致する別のクエリ:

select dayofweek(from_unixtime(date)) as day_num
    , dayname(from_unixtime(date)) as day_name
    , time
from table
where registered=0
group by day_num, day_name, time
order by day_num asc, time asc;
于 2013-02-15T01:38:21.273 に答える