-
sqlserver GROUP BY 用法5
表:
日期 蔬菜
20110301 白菜
20110301 芹菜
20110301 香菜
20110309 萝卜
20110309 土豆
请问如何使用 GROUP BY 语句得到如下结果:
日期 蔬菜1 蔬菜2 蔬菜3
20110301 白菜 芹菜 香菜
20110309 萝卜 土豆
问题补充:
蔬菜1 蔬菜2 蔬菜3
这个的顺序不能乱,要升序排列
问题补充:表:
日期 蔬菜 类别
20110301 白菜 1
20110301 芹菜 2
20110301 香菜 3
20110309 萝卜 1
20110309 土豆 2
请问如何使用 GROUP BY 语句得到如下结果:
日期 1 2 3
20110301 白菜 芹菜 香菜
20110309 萝卜 土豆
2011年3月09日 11:18
3个答案 按时间排序 按投票排序
-
SELECT 日期, CASE WHEN 蔬菜 = '白菜' or 蔬菜='萝卜' THEN 蔬菜 ELSE ''END AS 蔬菜1, CASE WHEN 蔬菜 = '芹菜' or 蔬菜 = '土豆' THEN 蔬菜 ELSE '' END AS 蔬菜2, CASE WHEN 蔬菜 = '香菜' THEN 蔬菜 ELSE 0 END AS 蔬菜3 FROM tab1 GROUP BY 日期
试试2011年3月09日 13:51
-
你是不是还有其他的条件没有给出来啊,你是想算数据库中蔬菜价格(或者数量)在一天中的销售或者其他吧。给你一个算价格的参考;
表tab1:
日期 蔬菜 价格
20110301 白菜 1.0
20110301 芹菜 3.8
20110301 香菜 6.5
20110309 萝卜 2.2
20110309 土豆 2.6SELECT 日期, CASE WHEN 蔬菜 = '白菜' THEN 价格 ELSE '' END AS 白菜, SUM(CASE WHEN 蔬菜 = '芹菜' THEN 价格 ELSE 0 END) AS 芹菜, SUM(CASE WHEN 蔬菜 = '萝卜' THEN 价格 ELSE 0 END) AS 萝卜, SUM(CASE WHEN 蔬菜 = '土豆' THEN 价格 ELSE 0 END) AS 土豆, SUM(CASE WHEN 蔬菜 = '西红柿' THEN 价格 ELSE 0 END) AS 西红柿 FROM tab1 GROUP BY 日期
2011年3月09日 13:10
相关推荐
例如,假设我们有一个`Orders`表,包含`CustomerId`和`ProductName`字段,我们可以使用`SqlServer GroupConcat`来获取每个客户的所有订单产品名,组合成一个逗号分隔的字符串: ```sql SELECT CustomerId, [Group...
根据给定的SQL Server存储过程代码片段,我们可以深入解析与SQL Server中的`GROUP BY`分组查询、存储过程以及分页技术相关的知识点。 ### SQL Server中的`GROUP BY`分组查询 `GROUP BY`子句在SQL查询语言中用于将...
今天我们将深入探讨如何在SQL Server中使用Group By与Inner Join结合来实现更复杂的分组统计。 首先,理解Group By的基本用法至关重要。Group By语句将结果集按照一个或多个列进行分组,这样我们可以对每个组应用...
在 SQL SERVER 中,GROUP BY 语句经常与聚合函数一起使用,例如: select prd_no,avg(qty) from sales group by prd_no select count(prd_no) from sales select prd_no,max(qty) from sales group by prd_no ...
本文将详细讲解这两个函数的使用方法及其在实际场景中的应用。 `PARTITION BY` 关键字是分析函数的一个关键组成部分,它的主要作用是对结果集进行分组。在没有指定的情况下,`PARTITION BY` 将默认对整个结果集进行...
### SQL语句中Group BY 和Rollup以及Cube用法 #### Group BY 子句 `GROUP BY`子句是SQL查询中的一个非常重要的部分,它用于将数据表中的行按照一个或多个列进行分组,使得可以对每个分组执行聚合函数(如SUM、...
在SQL Server中,`GROUP BY`语句是一个用于聚合数据的关键子句,它允许我们将数据分组,并对每个组执行聚合函数(如`COUNT`, `SUM`, `AVG`, `MAX`, `MIN`等)。在数据库查询中,当你需要根据某个或多个列的值对数据...
- **描述**:此实验指导书旨在帮助学生通过一系列实践操作来熟悉和掌握SQL Server 2005的基本使用方法。 - **标签**:SQL Server 实验指导书 - **部分内容**:实验手册由淮阴工学院计算机工程系教授寇海洲编写,内容...
在SQL Server中,公共表表达式(Common Table Expression,简称CTE)是一种非常有用的查询构造,它可以临时定义一个结果集,然后在这个结果集的基础上进行进一步的查询操作。CTE不仅可读性强,而且有助于简化复杂的...
- SELECT 语句详解:掌握 SELECT 语句的基本语法及各种子句的使用方法。 - JOIN 与子查询:理解连接查询及子查询在复杂查询中的应用。 - **高级查询技巧**: - 分组与聚合函数:利用 GROUP BY 及聚合函数进行分组...
在SQL查询中,GROUP BY和HAVING子句是数据分析和聚合操作的核心部分,它们帮助我们对数据进行分组和过滤,以...在SQLSERVER这样的关系型数据库管理系统中,熟练掌握这两者对于优化查询性能和提升数据分析能力至关重要。
这种方法使用 SQL Server 2005 独有的 ROW_NUMBER() OVER () 语法来生成递增的序号列,并使用 CTE 选取序号 2 ~ 4 的数据。例如: ```sql WITH 排序后的图书 AS( SELECT ROW_NUMBER() OVER (ORDER BY 客户编号 DESC...
在SQL Server中,AVG函数可以与GROUP BY子句结合使用,对特定部门或职位的薪资进行平均计算。 3. **COUNT函数**:COUNT函数用于计算指定列的行数,或者满足特定条件的行数。它可以用来统计表中的记录总数,也可以...
- 使用索引来减少CPU消耗,特别是在GROUP BY等操作中。 #### 6. 数据库与应用程序服务器分离 - **概述**:将数据库服务器与应用服务器分离,可以有效避免资源竞争问题。 - **实践建议**: - 对于OLTP(联机事务...
总结来说,在SQL中使用Group By子句实现除法运算需要一些额外的技巧,比如子查询、窗口函数和case表达式。这些方法可以针对不同的数据处理需求来灵活运用。尽管在简单的分组聚合中Group By子句非常强大,但在涉及更...
这个"SQL Server帮助文档(全)"的压缩包包含了丰富的资源,旨在为用户提供全面的SQL Server使用指南,包括函数大全、关键字用法以及使用手册等内容。下面将详细阐述其中涉及的重要知识点。 1. **SQL Server函数大全*...
3. **查询数据**:掌握SELECT语句的使用,包括WHERE子句进行条件筛选,GROUP BY和HAVING子句进行数据分组,以及聚合函数如COUNT、SUM、AVG、MIN和MAX的运用。 4. **视图与存储过程**:学习创建和使用视图,这能简化...
1. **基础查询语句**:这部分内容可能涵盖了SELECT语句的基本用法,包括选择列、表连接、聚合函数(如COUNT、SUM、AVG等)、分组(GROUP BY)和排序(ORDER BY)等。 2. **子查询与联接**:讲解如何使用子查询进行...