I am trying to read Google Chrome history from its sql lite database.
There are two table on which I want to perform left join
- urls
- vists
Structure of urls
+-----------------+-------------+---+------+---+
| id | INTEGER | 0 | NULL | 1 |
| url | LONGVARCHAR | 0 | NULL | 0 |
| title | LONGVARCHAR | 0 | NULL | 0 |
| visit_count | INTEGER | 1 | 0 | 0 |
| typed_count | INTEGER | 1 | 0 | 0 |
| last_visit_time | INTEGER | 1 | NULL | 0 |
| hidden | INTEGER | 1 | 0 | 0 |
| favicon_id | INTEGER | 1 | 0 | 0 |
+-----------------+-------------+---+------+---+
Structure of visits
+-----+------------------+-----------+-----+--------+-----+
| "0" | "id" | "INTEGER" | "0" | "NULL" | "1" |
| "1" | "url" | "INTEGER" | "1" | "NULL" | "0" |
| "2" | "visit_time" | "INTEGER" | "1" | "NULL" | "0" |
| "3" | "from_visit" | "INTEGER" | "0" | "NULL" | "0" |
| "4" | "transition" | "INTEGER" | "1" | "0" | "0" |
| "5" | "segment_id" | "INTEGER" | "0" | "NULL" | "0" |
| "6" | "visit_duration" | "INTEGER" | "1" | "0" | "0" |
+-----+------------------+-----------+-----+--------+-----+
Senario
urls have 138 records and visits have 171 records
given below is the join that I am performing which is returning 58 records.
I want to denormalise both tables. Please help. Given below is the join that I am performing
select
urls.url,
urls.title,
urls.visit_count,
datetime(urls.last_visit_time / 1000000 + (strftime('%s', '1601-01-01')), 'unixepoch') as last_visit_time,
urls.typed_count,
urls.hidden,
visits.from_visit,
visits.visit_duration,
datetime(visits.visit_time / 1000000 + (strftime('%s', '1601-01-01')), 'unixepoch') as visit_time
from urls
left outer join visits on urls.id = visits.url
where
datetime(visits.visit_time / 1000000 + (strftime('%s', '1601-01-01')), 'unixepoch') > '2016-04-03'
order by visits.visit_duration desc
Aucun commentaire:
Enregistrer un commentaire