让我们说一个表t1
为
>desc t1;
id int
name varchar(30)
和
>select count(*) from t1;
count(*)
10
是否可以将结果提取为
id name count
1 abc 10
2 def 10
. . .
. . .
. . .
实际结果列id
name
和结果查询count
的计数在同一结果集中。这样可能吗?
基本思想是获取结果行计数以及结果,而不必分别查询数据库中的计数。即使是子查询也没问题。
谢谢。
答案 0 :(得分:3)
SELECT * FROM t1, (SELECT COUNT(*) AS count FROM t1) t2
答案 1 :(得分:3)
是的,这是可能的。由于MySQL优化内容的方式,它也非常有效
SELECT t.*,
(select count(*) from t1) as count
FROM t1 t
答案 2 :(得分:2)
尝试:
select id, name, (select count(*) from t1) as cnt from t1;