Sql 条件] No Percent date 123 0.25 20061026 123 0.75 20040126 123 0.25 20061126 123 0.25 20061226 12
条件]Sql 条件] No Percent date 123 0.25 20061026 123 0.75 20040126 123 0.25 20061126 123 0.25 20061226 12,sql,sql-server-2008,Sql,Sql Server 2008,条件] No Percent date 123 0.25 20061026 123 0.75 20040126 123 0.25 20061126 123 0.25 20061226 123 0.75 20040126 select no,percent, min(date) from a group by pno,percent 123 0.25 20
No Percent date
123 0.25 20061026
123 0.75 20040126
123 0.25 20061126
123 0.25 20061226
123 0.75 20040126
select no,percent, min(date)
from a
group by pno,percent
123 0.25 20061026
123 0.75 20040126
select TOP 1 no,percent, [date]
from a
ORDER by [date]
DECLARE @T TABLE (Cust INT, Prct DECIMAL(6,2), Dt INT)
INSERT INTO @T VALUES (123, 0.25, 20061026), (123, 0.75, 20040126)
, (123, 0.25, 20061126), (123, 0.25, 20061226)
, (124, 0.27, 20061026), (124, 0.65, 20071226)
, (124, 0.57, 20050602);
WITH cteRanked as (SELECT *, ROW_NUMBER() OVER(PARTITION BY Cust ORDER BY Dt) as RC FROM @T)
SELECT Cust , Prct , Dt FROM cteRanked WHERE RC = 1
Cust Prct Dt
123 0.75 20040126
124 0.57 20050602
select no,percent, date
from a
where date = (select min(date) from a)
CREATE TABLE Table1
(
no int,percent2 decimal(5,2),date3 date
);
INSERT INTO Table1
(no, percent2, date3)
VALUES
(123, 0.25, '20061026'),
(123, 0.75, '20040126'),
(124, 0.45, '20060726'),
(124, 0.55, '20031126'),
(125, 0.65, '20040526'),
(125, 0.35, '20060926'),
(126, 0.25, '20061226');
WITH cteRanked as (SELECT *, ROW_NUMBER() OVER(PARTITION BY no ORDER BY date3) as RC FROM Table1)
SELECT no, percent2, date3 FROM cteRanked WHERE RC = 1
NO PERCENT2 DATE3
123 0.75 2004-01-26
124 0.55 2003-11-26
125 0.65 2004-05-26
126 0.25 2006-12-26
SELECT TOP 1 number, perc, date
FROM sof
ORDER by date
SELECT
number, perc, date
FROM
sof, (
SELECT MIN(date) min_date
FROM sof
) md
WHERE sof.date = md.min_date
select a.*
from table1 a
inner join (select no,min(date) mindate from table1 group by no) b
on a.no=b.no and a.date=b.mindate