MySQLでPHPでWebアプリケーションを作成しています。私はテーブルの数を求めているし、これは、データがそのテーブルに格納されている方法です各曜日をカラムとして取得MySQLとPHP
:
Table: counts id counts location_id media_id created_at -------------------------------------------------- 1 50 1 1 2017-03-15 2 30 2 1 2017-03-15 3 80 1 2 2017-03-15 4 20 1 1 2017-03-16 5 100 2 2 2017-03-16
ごとにユニークなlocation_idの、media_idこのとのcreated_atのために、私は、カウントを格納します。
select sum(counts.count) as views, locations.name as locations, DAYNAME(counts.created_at) AS weekday from `counts` inner join `locations` on `locations`.`id` = `counts`.`location_id` where `counts`.`created_at` between '2016-12-04' and '2016-12-10' group by `weekday`, `counts`.`location_id`;
これは、データが表示されている方法です:
Table: locations id name ---------------- 1 Location 1 2 Location 2 3 Location 3 4 Location 4 5 Location 5
これは私が現時点で持っているSQLクエリです:
私はこのようなものです別のテーブルの場所を持っている
locations weekday views ----------------------------------- Location 1 Mon 50 Location 1 Tue 30 Location 2 Mon 20 Location 2 Tue 70
私はレポートを作成していますが、今週のすべての曜日が列に対応する値をその曜日のビュー数として表示します。私はこのようなものが欲しい:
locations mon tue wed thu fri sat sun ------------------------------------------------- Location 1 40 60 51 20 40 20 30 Location 2 80 60 100 24 30 10 5
これはMySQLで可能ですか、それを達成するためにPHPを使用する必要がありますか?もしそうなら、私はどうすればそれについて行きますか?
ありがとうございます、ありがとうございます。
注意:サンプルデータは正確ではありません。
MySQLクエリはデータベースからデータを取得するのに役立ちますが、データ出力のフォーマットには役立ちません。 PHPは、通常、Webブラウザ用のHTML出力を作成するために使用されます。結論:データを取得して出力をフォーマットする必要があります。それを試してみて、それを動作させることができない場合は、コードを表示してください。 –
それができない場合は、出力をフォーマットする必要があります。私はそれがMySQLで可能と考えました。 –