anchor.diff:  [source,bash]
   ----
   $ docker-compose down
  -Stopping ksql-workshop_ksql-cli_1        ... done
   Stopping ksql-workshop_ksql-server_1     ... done
   Stopping ksql-workshop_datagen-ratings_1 ... done
   Stopping ksql-workshop_schema-registry_1 ... done
   Stopping ksql-workshop_kafka_1           ... done
   Stopping ksql-workshop_zookeeper_1       ... done
  -Removing ksql-workshop_ksql-cli_1        ... done
   Removing ksql-workshop_ksql-server_1     ... done
   Removing ksql-workshop_datagen-ratings_1 ... done
   Removing ksql-workshop_schema-registry_1 ... done
  
positive.code: 
  In the resulting `TABLE` there are some characteristics to note:
  
  * The `ROWTIME` is the _start_ of the timestamp window. This is always a multiple offset from the epoch, regardless of when the first event arrived in the system.
  * The `ROWKEY` is a composite key of the timestamp window start plus the column(s) defined in the `GROUP BY`
  
  Using the `ROWKEY` column it's possible to examine the aggregate values and associated window:
  
  [source,sql]
  ----
  SELECT TIMESTAMPTOSTRING(ROWTIME, 'yyyy-MM-dd HH:mm:ss') AS WINDOW_START_TS, \
          CLUB_STATUS, RATING_COUNT \
  FROM RATINGS_BY_CLUB_STATUS \
  LIMIT 5;
  
negative.code: 
  [source,sql]
  ----
  bronze : Window{start=1535986740000 end=-} | bronze | 23
  bronze : Window{start=1535986800000 end=-} | bronze | 22
  bronze : Window{start=1535986860000 end=-} | bronze | 35
  bronze : Window{start=1535986920000 end=-} | bronze | 25
  bronze : Window{start=1535986980000 end=-} | bronze | 30
  ----
  
  If you let the `SELECT` output continue to run, you'll see all of the past time window aggregate values—but also the current one. Note that the _current_ time window's aggregate value will continue to update, because new events are being continually processed and reflected in the value. If you were to send an event to the source `ratings` topic with a timestamp in the past, the corresponding time window's aggregate would be re-emitted.
  