Sql 如何通过一个查询获取数据库上的总行数

Sql 如何通过一个查询获取数据库上的总行数,sql,sqlite,rows,Sql,Sqlite,Rows,我有一个包含两个表的数据库,我想通过一个查询获得这些表中的行总数。 到目前为止,我没有尝试: SELECT (count(bill.*) + count(items.*)) as TTL FROM bill, items // Failed SELECT count(*) as TTL FROM bill, items // wrong total SELECT (count(bill.ID_B) + count(items.ID_I)) as TTL FROM bill, items //

我有一个包含两个表的数据库,我想通过一个查询获得这些表中的行总数。 到目前为止,我没有尝试:

SELECT (count(bill.*) + count(items.*)) as TTL FROM bill, items // Failed 
SELECT count(*) as TTL FROM bill, items // wrong total
SELECT (count(bill.ID_B) + count(items.ID_I)) as TTL FROM bill, items // wrong total
SELECT count(bill.ID_B + items.ID_I) as TTL FROM bill, items // return the biggest total

使用两个子查询:

select (select count(1) from bill) + (select count(1) from items);

@JDwyer,你能解释一下为什么吗?现在,每天的数据库都可能让这些操作相同。传统观点认为,选择常数a.k.a 1或“a”比从表中选择值要快。见: