加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Sqlite 多表查询

发布时间:2020-12-12 19:16:20 所属栏目:百科 来源:网络整理
导读:联表查询 table_a 和 table_b:已知: 1.table_a和table_b中有个'time'字段对应。 2.table_a中的一条记录table_b中可能有0~n条记录与之对应。查询: table_a中的所有记录,每条记录对应的table_b中的记录数量 table_a: id name time 1 name1 123 2 name2 4
1 name1 123 2 name2 456 3 name3 789

table_b:

1 123 /a/b/123a.txt 2 123 /a/b/123b.txt 3 123 /a/b/123c.txt 4 456 /a/b/123c.txt

想要的查询结果是:

1 name1 123 3 2 name2 456 1 3 name3 789 0
SQL 语句如下:
SELECT table_a.id,table_a.name,table_a.time as time,COUNT(table_b.time) AS count FROM table_a LEFT JOIN table_b ON table_a.time = table_b.time GROUP BY table_b.time 
如果只需要知道table_b中是否有对应记录,而不需要知道具体的数量,那么可以把第一行修改为(添加 DISTINCT ):
SELECT table_a.id,COUNT(DISTINCT table_b.time) AS count ...
注意: GROUP BY 和 COUNT 后面是同一张表的同一个字段

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

联表查询 table_a 和 table_b:
已知:
    1.table_a和table_b中有个'time'字段对应。
    2.table_a中的一条记录table_b中可能有0~n条记录与之对应。
查询: 
    table_a中的所有记录,每条记录对应的table_b中的记录数量

table_a:

id name time
id time path
id name time count(对应table_b中的记录数)
    推荐文章
      热点阅读