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

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写在不排序的列。

原文地址:https://www.cnblogs.com/jackadam/p/9572662.html