sql语句最后一行显示统计。

时间:2021-07-27 14:25:10
SELECT
id,
username,
id_Num
FROM users
WHERE id>100
UNION ALL
SELECT
'合计',
count(*),
null
FROM users
WHERE id >100
ORDER BY id_Num DESC

分开来看:

第一段:

SELECT 
id,
username,
id_Num
FROM users
WHERE id>

第二段:

SELECT
'合计',
null,
count(*)
FROM users
WHERE id >

两段具有相同的列数,并且有相同的数据类型。

那么,就可以用UNION ALL 组合起来。

结果是以第一个查询的结构,增加了第二个查询的数据。

注意:

where的条件应该保持一致,否则你显示的数据和统计的基准不同,那就不准了。

order by 只能在组合完成以后再写一遍,因为UNION ALL以后,是把两个查询结果组合成一个查询结果了,只能ORDER BY一次。

为了coutn的结果不影响排序,最好把count写在不排序的列。