select-SQL id和no相同的有多条记录时,只取其中的一条,要怎么写查询语句

问题描述

SQL id和no相同的有多条记录时,只取其中的一条,要怎么写查询语句

declare @A table (
id nvarchar(8),
[no] nvarchar(8),
a_string1 nvarchar(8),
a_string2 nvarchar(8)
);
insert into @A values('0001','0001','','');
insert into @A values('0001','0001','1111','1111');
insert into @A values('0001','0002','0000','0000');
insert into @A values('0001','0002','1111','1111');
insert into @A values('0001','0003','1111','1111');
insert into @A values('0001','0003','','');
insert into @A values('0001','0004','','');
insert into @A values('0001','0004','1111','1111');

解决方案

是随机取一条,还是只要取到一条数据就行?
SELECT TOP 1 column FROM A
ORDER BY NEWID()

解决方案二:

去重函数distinct

解决方案三:

去重函数distinct

解决方案四:

这个要用到聚合group by

解决方案五:

select top 1 * from A where id=no
这样不行吗?

时间: 2024-10-17 23:57:06

select-SQL id和no相同的有多条记录时,只取其中的一条,要怎么写查询语句的相关文章

SQL中遇到多条相同内容只取一条的最简单实现方法_MsSql

SQL中经常遇到如下情况,在一张表中有两条记录基本完全一样,某个或某几个字段有些许差别, 这时候可能需要我们踢出这些有差别的数据,即两条或多条记录中只保留一项. 如下:表timeand 针对time字段相同时有不同total和name的情形,每当遇到相同的则只取其中一条数据,最简单的实现方法有两种 1.select time,max(total) as total,name from timeand group by time;//取记录中total最大的值 或 select time,min(

SQL中遇到多条相同内容只取一条的最简单实现方法

SQL中经常遇到如下情况,在一张表中有两条记录基本完全一样,某个或某几个字段有些许差别, 这时候可能需要我们踢出这些有差别的数据,即两条或多条记录中只保留一项. 如下:表timeand 针对time字段相同时有不同total和name的情形,每当遇到相同的则只取其中一条数据,最简单的实现方法有两种 1.select time,max(total) as total,name from timeand group by time;//取记录中total最大的值 或 select time,min(

ssh(struts1)整合根据复选框checked的id删除一条记录时在delete方法(dispatchActiong)中得到的id为null谢谢各位前辈了

问题描述 //异常信息进来没?2010-12-169:21:09org.apache.catalina.core.StandardWrapperValveinvoke严重:Servlet.service()forservletactionthrewexceptionjava.lang.NumberFormatException:nullatjava.lang.Integer.parseInt(Integer.java:417)atjava.lang.Integer.parseInt(Intege

SQL Server查询前N条记录的常用方法小结_MsSql

本文实例讲述了SQL Server查询前N条记录的常用方法.分享给大家供大家参考.具体如下: SQL Server查询前N条记录是我们经常要用到的操作,下面对SQL Server查询前N条记录的方法作了详细的介绍,如果您感兴趣的话,不妨一看. SQL Server查询前N条记录: 因为id可能不是连续的,所以不能用取得10<id<20的记录的方法. 有三种方法可以实现: 一.搜索前20条记录,指定不包括前10条 语句: 复制代码 代码如下: select top 20 * from tbl w

sql查询语句,在一个表里查询同时包含两行数据的ID

问题描述 sql查询语句,在一个表里查询同时包含两行数据的ID select * from traintime where '成都' IN (select * from traintime where Station ='重庆') 这句话要怎么写啊!我的数据库结构是(所有的列车时刻表都在一个表里) id 站台 里程 c226 成都 0 c226 重庆 100 k51 成都 0 k51 重庆 100 k51 武汉 300 ... 怎样才能查询经过这两个站的所有列车信息 解决方案 select a.

PHP中SQL查询语句的id=%d解释(推荐)_php实例

在SQL语句中有一些写的是这样的: 'SELECT id FROM dbname WHERE xx_id = %d;', $bl['student_id'] 其中的"xx_id = %d",这里的%d指的是要取一个十进制的数(d的意思就是decimal十进制的意思),十进制数的内容就是后面的$bl['student_id']这个. 以上所述是小编给大家介绍的PHP中SQL查询语句的id=%d解释,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的! 以上是小编为您

PHP中SQL查询语句的id=%d解释(推荐)

在SQL语句中有一些写的是这样的: 'SELECT id FROM dbname WHERE xx_id = %d;', $bl['student_id'] 其中的"xx_id = %d",这里的%d指的是要取一个十进制的数(d的意思就是decimal十进制的意思),十进制数的内容就是后面的$bl['student_id']这个. 以上所述是小编给大家介绍的PHP中SQL查询语句的id=%d解释,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!

SQL Select查询原理--查询语句执行原则(基础)

原文地址:点击打开链接 1.单表查询:根据WHERE条件过滤表中的记录,形成中间表(这个中间表对用户是不可见的):然后根据SELECT的选择列选择相应的列进行返回最终结果. 1)简单的单表查询 SELECT 字段 FROM 表名 WHERE 条件表达式         那它们是按什么顺序执行呢?分析器会先看语句的第一个词,当它发现第一个词是SELECT关键字的时候,它会跳到FROM关键字,然后通过FROM关键字找到表名并把表装入内存.接着是找WHERE关键字,如果找不到则返回到SELECT找字段

ruby sql select 查询语句用法

ruby sql select 查询语句用法 require 'mysql教程' m = Mysql.new("localhost","ruby","secret","maillist") r = m.query("SELECT * FROM people ORDER BY name") r.each_hash do |f|   print "#{f['name']} - #{f['email']