-
SQL SERVER 去除某个字段重复。。。3
城市A 城市B 号码1 时间1 价格 折扣
北京 大庆 1180331 2010-04-28 40100 39
北京 长春 1180395 2010-04-28 36800 38
北京 乌海 1180464 2010-04-28 41900 39
北京 潍坊 1180503 2010-04-28 25600 40
北京 泸州 1180561 2010-04-28 59500 38
北京 兰州 1215379 2010-04-28 52600 40
北京 兰州 1215381 2010-04-28 52900 40
北京 桂林 1215421 2010-04-28 72000 40
北京 桂林 1215422 2010-04-28 63000 35
北京 桂林 1215427 2010-04-28 72000 40
北京 桂林 1215428 2010-04-28 72000 40
北京 南宁 1215433 2010-04-28 80600 40
北京 珠海 1215439 2010-04-28 75500 40
北京 珠海 1215440 2010-04-28 75900 40
北京 珠海 1215441 2010-04-28 75900 40
北京 海口 1215442 2010-04-28 90000 40
北京 珠海 1215450 2010-04-28 75500 40
北京 珠海 1215451 2010-04-28 75500 40
北京 哈尔滨 1215481 2010-04-28 29000 30
北京 武汉 1215512 2010-04-28 41600 38
北京 武汉 1215514 2010-04-28 41600 38
北京 南昌 1215568 2010-04-28 52000 40
北京 沈阳 1215584 2010-04-28 27100 40
取出重复城市中最低价格(并且输出对应字段)。。。怎么查?谢谢了。
检索出数据如:
城市A 城市B 号码1 时间1 价格 折扣
北京 大庆 1180331 2010-04-28 40100 39
北京 长春 1180395 2010-04-28 36800 38
北京 乌海 1180464 2010-04-28 41900 39
北京 潍坊 1180503 2010-04-28 25600 40
北京 泸州 1180561 2010-04-28 59500 38
北京 兰州 1215379 2010-04-28 52600 40
北京 桂林 1215422 2010-04-28 63000 35
北京 南宁 1215433 2010-04-28 80600 40
北京 珠海 1215439 2010-04-28 75500 40
北京 海口 1215442 2010-04-28 90000 40
北京 哈尔滨 1215481 2010-04-28 29000 30
北京 武汉 1215514 2010-04-28 41600 38
北京 南昌 1215568 2010-04-28 52000 40
北京 沈阳 1215584 2010-04-28 27100 40
问题补充:mginobili 写道select 城市A,城市B,min(价格) 价格
from TABLE
group by 城市A,城市B
如果还要输出其他字段 那就
select t1.*, t2.号码1,t2.时间1,t2.折扣
from
(select 城市A,城市B,min(价格) 价格
from TABLE
group by 城市A,城市B) t1
left join
TABLE t2 on t1.城市A = t2.城市A and t1.城市B=t2.城市B and t1.价格=t2.价格
--------------------------------------------------------------------------
这样子有重复数据的。。如果上面
北京 兰州 1215379 2010-04-28 52600 40
北京 兰州 1215381 2010-04-28 52900 40
变成
北京 兰州 1215379 2010-04-28 52600 40
北京 兰州 1215381 2010-04-28 52600 40
会有重复数据。
问题补充:mginobili 写道你这数据都一样了呀
不行的话 再加个distinct
号码1是唯一的。distinct不行。。。。弄了几天了,都没有达到我的效果。
问题补充:dengzh 写道select 城市A,城市B,min(价格) 价格
from TABLE
group by 城市A,城市B
如果还要输出其他字段 那就
select t1.*, t2.号码1,t2.时间1,t2.折扣
from
(select 城市A,城市B,min(价格) 价格
from TABLE
group by 城市A,城市B) t1
left join
TABLE t2 on t1.城市A = t2.城市A and t1.城市B=t2.城市B and t1.价格=t2.价格
对这个语句再进行group by 城市A,城市B
这样行不通的。。。。
问题补充:*************************************************************************
没有人知道么?
*************************************************************************2010年4月28日 14:31
3个答案 按时间排序 按投票排序
-
select 城市A,城市B,min(价格) 价格
from TABLE
group by 城市A,城市B
如果还要输出其他字段 那就
select t1.*, t2.号码1,t2.时间1,t2.折扣
from
(select 城市A,城市B,min(价格) 价格
from TABLE
group by 城市A,城市B) t1
left join
TABLE t2 on t1.城市A = t2.城市A and t1.城市B=t2.城市B and t1.价格=t2.价格
对这个语句再进行group by 城市A,城市B2010年4月28日 16:36
-
select 城市A,城市B,min(价格) 价格
from TABLE
group by 城市A,城市B
如果还要输出其他字段 那就
select t1.*, t2.号码1,t2.时间1,t2.折扣
from
(select 城市A,城市B,min(价格) 价格
from TABLE
group by 城市A,城市B) t1
left join
TABLE t2 on t1.城市A = t2.城市A and t1.城市B=t2.城市B and t1.价格=t2.价格2010年4月28日 14:49
相关推荐
### SQL Server连接字段的方法 在SQL Server中,经常会遇到需要将不同的字段进行组合或转换的情况,比如将分别存储年、月、日的三个字段合并成一个日期格式的字符串。这种需求在实际应用中非常常见,尤其是在处理...
SQL 去重是指从查询结果中去除重复的记录,只保留唯一的记录。这通常是为了提高数据处理效率或确保数据分析的准确性。 #### 2. SQL 去重的方法 SQL 提供了多种方法来实现去重: - **DISTINCT 关键字**:最简单的...
在SQL Server数据库中,设计表结构时,有时我们需要确保某个字段的非空值是唯一的,但同时允许该字段为空并且可以有多个空值。在给定的标题和描述中,讨论了一个具体的问题和几种解决方案。 首先,问题在于创建了一...
### SQL Server 双引号问题处理 在进行数据库操作时,我们经常需要用到各种各样的字符来构建复杂的查询语句。其中,SQL Server 使用单引号(' ')来标识字符串,这是一种约定俗成的做法。然而,在某些情况下,比如...
本文将详细比较SQL Server和Oracle数据库之间的数据类型对应以及常用函数的转换。 首先,我们来看SQL Server和Oracle的数据类型对照: 1. **数值类型**: - `bigint`在SQL Server中对应Oracle的`NUMBER(19)`,...
--去除字段中符号,只保留数字和字母sql-- create FUNCTION DBO.REMOVE_SYMBLE(@S VARCHAR(100)) RETURNS VARCHAR(100) AS BEGIN DECLARE @SQL VARCHAR(100) SET @SQL=''
标题提到的"轻松消除SQL SERVER重复记录"是指在SQL Server环境中高效、便捷地去除数据库表中的重复行。描述中提到的问题是开发人员在查询和统计时可能遇到的挑战,即由于重复记录导致的结果不准确。下面我们将详细...
在SQL Server中,有时我们需要对某个字段的值进行合并,特别是在数据分析或报表生成时,这种情况很常见。本实例探讨了如何在SQL Server中合并特定字段的值,特别是针对相同ID的记录。我们将通过一个实际的例子来理解...
SQL Server 中 datetime 字段去除时间的语句 在 SQL Server 中,datetime 字段是一个常用的数据类型,用于存储日期和时间信息。然而,在某些情况下,我们可能需要将 datetime 字段去除时间部分,仅保留日期部分。...
采用非绑定方式时许多程序员大都忽略了对单引号的特殊处理,一旦SQL语句的查询条件的变量有单引号出现,数据库引擎就会报错指出SQL语法不对,本文介绍了两种可以解决和处理这种单引号的问题的方法。
在SQL Server中,存储过程是预编译的SQL语句集合,它们封装了特定的数据库操作,提高了代码的重用性和执行效率。当涉及到处理多个值时,我们常常会遇到如何将这些值作为参数传递给存储过程的问题。本文将探讨在SQL ...
- UNION:返回两个查询结果集的并集,并去除重复行。 - EXCEPT:返回第一个查询结果集中不在第二个查询结果集中的行。 - INTERSECT:返回两个查询结果集的交集。 #### 12. 连接操作 连接操作用于组合两个或多个...
使用`DISTINCT`关键字可以去除重复行,`UNION`运算符用于合并多个查询结果集,而`GROUP BY`通常与聚合函数一起使用,用于对数据进行分组。 5. **DBCC SHRINKDATABASE**:此命令用于收缩数据库,其中的数字参数表示...
### SQL Server 提取汉字、数字、字母的方法 在SQL Server中,经常需要处理字符串,比如提取其中的特定字符集(如汉字、数字或英文字母)。本文将介绍如何使用SQL Server编写函数来实现这些功能,并提供示例代码...
### SQL Server删除重复数据的方法 在数据库管理过程中,经常会遇到需要清理重复数据的情况。重复数据不仅浪费存储空间,还可能导致数据分析结果出现偏差。对于SQL Server而言,有多种方法可以用来删除重复的数据,...
3. DISTINCT关键字:用于去除重复的行,如 `SELECT DISTINCT ColumnName FROM TableName`。 4. ORDER BY子句:用于对结果集进行排序,如 `SELECT * FROM TableName ORDER BY ColumnName ASC/DESC`。 5. GROUP BY与...
- 然后,对排序字段进行处理,获取排序字段名(例如去除`ASC`或`DESC`)以及排序方式(`>=`或`)。 - 接下来,根据排序字段是否存在`.`来判断排序字段是否存在于子表或视图中,并分别设置`@SortTable`和`@SortName`...
四、Sqlserver 中 Replace 函数用法 REPLACE 函数是用第三个表达式替换第一个字符串表达式中出现的所有第二个给定字符串表达式的方法。语法为: REPLACE ('string_expression1', 'string_expression2', 'string_...
SQLServer中的索引碎片是影响数据库性能的重要因素,它分为外部碎片和内部碎片两种类型。外部碎片发生在索引页不在其逻辑顺序上时,导致查询过程中需要额外的页切换,尤其是对于返回有序结果集的查询,这将显著降低...