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>100
第二段:
SELECT
'合计',
null,
count(*)
FROM users
WHERE id >100
两段具有相同的列数,并且有相同的数据类型。
那么,就可以用UNION ALL 组合起来。
结果是以第一个查询的结构,增加了第二个查询的数据。
注意:
where的条件应该保持一致,否则你显示的数据和统计的基准不同,那就不准了。
order by 只能在组合完成以后再写一遍,因为UNION ALL以后,是把两个查询结果组合成一个查询结果了,只能ORDER BY一次。
为了coutn的结果不影响排序,最好把count写在不排序的列。