有两个导数据的需求,1.一张表里面每一个订单号可能对应多条数据,每个单号返回时间最早的那条. 2.根据条件查询某个字段并按照逗号,合并在一起. 表类似结构如下: 第一条sql:select c.Id,c.OrderNum, c.CreateTime FROM (select t.*,row_number() over(partition by t.OrderNum order by t.CreateTime ) rn  from Payinfo t WHERE t.OrderNum IN('20…
select stuff((select ',' + CONVERT(VARCHAR(50),id)+'' from tab_menu  group by id for xml  path('')),1,1,'')…
ORACLE纯SQL实现多行合并一行[转] 项目中遇到一个需求,需要将多行合并为一行.表结构如下:NAME                            Null           Type------------------------ ---------   -----N_SEC_CODE                 NOT NULL CHAR(6)C_RESEARCHER_CODE    NOT NULL VARCHAR2(20) 此表保存了“股票”与“研究员”的对应关系数据…
sql多行合并成一行 sql server SELECT [activityId], --STUFF( (SELECT ',' + Cast(A.phone AS varchar) FROM aaa A WHERE A.activityId=B.activityId FOR XML PATH('')) --,1,1,'') AS phonesFROM aaa BGROUP BY [activityId] mysql SELECTactivityId, group_concat(DISTINCT…
sql 查询某个条件下多条数据中最新的一条数据或最老的一条数据 test_user表结构如下: 需求:查询李四.王五.李二创建的最初时间或者最新时间 1:查询最初的创建时间: SELECT * FROM( SELECT * FROM test_user ) AS tu WHERE NOT EXISTS ( SELECT * FROM( SELECT * FROM test_user ) AS tu2 WHERE tu2.user_name=tu.user_name AND DATE(tu.tim…
一张自增表里面总共有 7 条数据,删除了最后 2 条数据,重启 MySQL 数据库,又插入了一条数据,此时 id 是几? 一般情况下,我们创建的表的类型是InnoDB,如果新增一条记录(不重启mysql的情况下),这条记录的id是8:但是如果重启(文中提到的)MySQL的话,这条记录的ID是6.因为InnoDB表只把自增主键的最大ID记录到内存中,所以重启数据库或者对表OPTIMIZE操作,都会使最大ID丢失. 但是,如果我们使用表的类型是MylSAM,那么这条记录的ID就是8.因为MylSAM…
项目中遇到一个需求,需要将多行合并为一行.表结构如下:NAME                            Null           Type------------------------   ---------   -----N_SEC_CODE                 NOT NULL  CHAR(6)C_RESEARCHER_CODE   NOT NULL  VARCHAR2(20) 此表保存了“股票”与“研究员”的对应关系数据,一般而言,对于同一只股票而言,可能有…
简单版的 SELECT a.CreateBy,Name =stuff((select ','+Name FROM SG_Client WHERE CreateBy = a.CreateBy for xml path('')),1,1,'')FROM SG_Client a group by a.CreateBy //连表查询 SELECT a.ContractID, LocationName =stuff( ( select ',' + LocationName FROM(select L.Na…
1. 使用函数 go CREATE FUNCTION dbo.fn_Sumtype(@type varchar(50))RETURNS varchar(8000)ASBEGIN DECLARE @values varchar(8000) SET @values = '' SELECT @values = @values + ',' + PRODUCT_TYPE FROM [DataCopy2] WHERE CUSTOMERFULLNAME=@type RETURN STUFF(@values,…
假如有如下表,其中各个i值对应的行数是不定的 SQL> select * from t; I A          D ---------- ---------- ------------------- 1 b          2008-03-27 10:55:42 1 a          2008-03-27 10:55:46 1 d          2008-03-27 10:55:30 2 z          2008-03-27 10:55:55 2 t          200…