❶ sql server 如何同时对列和行同时分组
SELECT Provice, Companyid, COUNT(*) FROM employee GROUP BY Provice, Companyid
得出结果是:
江苏 01 2
江苏 02 1
上海 02 2
这就是你要的结果了。
另外你无法做到用字段的内容(例如“江苏”“01”等等)作为列标题来显示查询结果。
❷ 数据库中如何分类、分组并总计SQL数据
通常,我们确实需要对所有数据进行排序。SQL的ORDER BY子句将数据按字母或数字顺序进行排列。因此,同类数据明显分类到各个组中。然而,这些组只是分类的结果,它们并不是真正的组。ORDER BY显示每一个记录,而一个组可能代表多个记录。 2、减少组中的相似数据 分类与分组的最大不同在于:分类数据显示(任何限定标准内的)所有记录,而分组数据不显示这些记录。GROUP BY子句减少一个记录中的相似数据。例如,GROUP BY能够从重复那些值的源文件中返回一个唯一的邮政编码列表: SELECTZIP FROMCustomers GROUPBYZIP 仅包括那些在GROUP BY和SELECT列列表中字义组的列。换句话说,SELECT列表必须与GROUP列表相匹配。只有一种情况例外:SELECT列表能够包含聚合函数。(而GROUP BY不支持聚合函数。) 记住,GROUP BY不会对作为结果产生的组分类。要对组按字母或数字顺序排序,增加一个ORDER BY子句(#1)。另外,在GROUP BY子句中您不能引用一个有别名的域。组列必须在根本数据中,但它们不必出现在结果中。 3、分组前限定数据 您可以增加一个WHERE子句限定由GROUP BY分组的数据。例如,下面的语句仅返回肯塔基地区顾客的邮政编码列表。 SELECTZIP FROMCustomers WHEREState='KY' GROUPBYZIP 在GROUP BY子句求数据的值之前,WHERE对数据进行过滤,记住这一点很重要。
❸ SQL 同一字段不同内容进行分组显示的
SELECT
姓名
住院号
SUM(case
when
费别=‘西药费’
then
金额
else
0
end
)
as
西药费
SUM(case
when
费别=‘CT费’
then
金额
else
0
end
)
as
CT费
SUM(case
when
费别=‘电诊费’
then
金额
else
0
end
)
as
电诊费
SUM(case
when
费别=‘X光费’
then
金额
else
0
end
)
as
X光费
SUM(case
when
费别=‘
药费’
then
金额
else
0
end
)
as
重要费
from
table
group
by
姓名
住院号
❹ sql语句实现分组统计
方法和详细的操作步骤如下:
1、第一步,创建一个测试表,详细代码见下图,转到下面的步骤。
❺ SQL 同一字段不同内容进行分组显示的
SELECT 姓名,住院号,SUM(case when 费别=‘西药费’,then 金额 else 0 end ) as 西药费,
SUM(case when 费别=‘CT费’,then 金额 else 0 end ) as CT费,
SUM(case when 费别=‘电诊费’,then 金额 else 0 end ) as 电诊费,
SUM(case when 费别=‘X光费’,then 金额 else 0 end ) as X光费,
SUM(case when 费别=‘中药费’,then 金额 else 0 end ) as 重要费
from table
group by 姓名,住院号
❻ sql语句 如何分组后得到记录总数
SELECT COUNT(*)
FROM (SELECT 分组字段 FROM 表
GROUP BY 分组字段
)别名
或者
SELECT COUNT(*)
FROM (SELECT distinct 分组字段 FROM 表)别名
(6)sql同频分组扩展阅读:
SQL分组查询
在SQL Server中使用的分组查询是ORDER BY子句,使用ORDER BY子句要同聚合函数配合使用才能完成分组查询,在SELECT查询的字段中如果字段没有使用聚合函数就必须出现在ORDER BY子句中(即SELECT后边的字段名要么出现在聚合函数中,要么在ORDER BY子句中使用)
在分组查询中还可以配合使用HAVING子句,定义查询条件。
使用group by进行分组查询
在使用group by关键字时,在select列表中可以指定的项目是有限制的,select语句中仅许以下几项:
1、被分组的列
2、为每个分组返回一个值得表达式,例如用一个列名作为参数的聚合函数
3、group by 有一个原则,就是 select 后面的所有列中,没有使用聚合函数的列,必须出现在 group by 后面