テーブルからビュー、増加、増加率を選択したいのですが、一意の ID のみを表示します。必要な情報は得られるが、必要以上の情報が得られ、結果を絞り込めない。
次のデータがあります。
+------------+------------+-------+-------+
| datum | youtube_id | views | likes |
+------------+------------+-------+-------+
| 2012-10-07 | 123456 | 100 | 100 |
| 2012-10-07 | 98765 | 200 | 200 |
| 2012-10-08 | 123456 | 150 | 150 |
| 2012-10-08 | 98765 | 300 | 300 |
| 2012-10-09 | 123456 | 300 | 300 |
| 2012-10-09 | 98765 | 500 | 500 |
+------------+------------+-------+-------+
そして、次の sql ステートメント:
SELECT
id,
startcount,
endcount,
(endcount - startcount)increasing,
((endcount - startcount) / ( startcount ) *100)percentChange
FROM (SELECT youtube_id AS id, views AS startcount
FROM charts
WHERE datum = '2012-10-08')startRange,
(SELECT views AS endcount
FROM charts
WHERE datum = '2012-10-09')endRange
これにより、次の結果が得られます。
+--------+------------+----------+------------+---------------+
| id | startcount | endcount | increasing | percentChange |
+--------+------------+----------+------------+---------------+
| 123456 | 150 | 300 | 150 | 100.0000 |
| 98765 | 300 | 300 | 0 | 0.0000 |
| 123456 | 150 | 500 | 350 | 233.3333 |
| 98765 | 300 | 500 | 200 | 66.6667 |
+--------+------------+----------+------------+---------------+
期待される結果は次のようになります。
+--------+------------+----------+------------+---------------+
| id | startcount | endcount | increasing | percentChange |
+--------+------------+----------+------------+---------------+
| 123456 | 150 | 300 | 150 | 100.0000 |
| 98765 | 300 | 500 | 200 | 66.6667 |
+--------+------------+----------+------------+---------------+
私はグループ化または結合を見てきましたが、これを理解できず、すでに数日間これをやり直していますが、ループに陥っています。
誰かが私を正しい方向に向けるか、私を助けてくれるなら、それは素晴らしいことです!