Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Bigquery:tìm kiếm nhiều bảng và tổng hợp với first_seen và last_seen

Đầu tiên tôi sẽ liên kết các bảng (trong BigQuery, cú pháp cho liên hợp là dấu phẩy). Sau đó, có hai cách tiếp cận:

  1. Sử dụng các hàm phân tích FIRST_VALUE và LAST_VALUE.
SELECT id, timestamp_first, timestamp_last, data FROM
(SELECT 
  id,
  timestamp,
  FIRST_VALUE(timestamp) OVER(
    PARTITION BY id
    ORDER BY timestamp ASC
    ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING)
  AS timestamp_first,
  LAST_VALUE(timestamp) OVER(
    PARTITION BY id
    ORDER BY timestamp ASC
    ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING)
  AS timestamp_last
FROM table1, table2, table3
  1. Sử dụng tổng hợp MIN / MAX trên dấu thời gian để tìm đầu tiên / cuối cùng và sau đó kết hợp trở lại các bảng giống nhau.
SELECT a.id id, timestamp_first, timestamp_last, data FROM
(SELECT id, data FROM table1,table2,table3) a
INNER JOIN
(SELECT 
   id, 
   MIN(timestamp) timestamp_first,
   MAX(timestamp) timestamp_last 
 FROM table1,table2,table3 GROUP BY id) b
ON a.id = b.id



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Thử lại bế tắc ActiveRecord3

  2. MySQL Master để Master Replication

  3. Làm cách nào để chạy tệp .sql như một phần của truy vấn MySQL Workbench 6.2?

  4. Lưu trữ micro giây trong MySQL:giải pháp nào?

  5. ghi kết quả của truy vấn sql vào một tệp trong mysql