Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 如何选择最早日期及其对应的数据_Sql_Group By - Fatal编程技术网

Sql 如何选择最早日期及其对应的数据

Sql 如何选择最早日期及其对应的数据,sql,group-by,Sql,Group By,我有一个非常简单的问题,这是踢我的屁股 CUSTNMBR | first_date | SOPNUMBE ---------------------------------------- 3344771005 | 2012-05-03 | 334471961748 3344771005 | 2012-04-04 | 334476873726 在上表中,我想返回最早的日期以及custnumbr和sopnumb,如下所示 3344771005 | 2012-04

我有一个非常简单的问题,这是踢我的屁股

CUSTNMBR   |  first_date |  SOPNUMBE
----------------------------------------
3344771005 |  2012-05-03 |  334471961748         
3344771005 |  2012-04-04 |  334476873726
在上表中,我想返回最早的日期以及
custnumbr
sopnumb
,如下所示

3344771005 |  2012-04-04 |  334476873726
我用过这个

Select a.CUSTNMBR, min(a.Tax_Date) as first_date, a.SOPNUMBE
from SOP30200 as a
where a.CUSTNMBR = '3344771005'
Group by a.CUSTNMBR, a.SOPNUMBE
但它返回所有变量,如果我在组中取消了
a.sopnume
,它就会出错。

试试看

Select TOP 1 a.CUSTNMBR, min(a.Tax_Date)as first_date, a.SOPNUMBE
from SOP30200 as a
where a.CUSTNMBR = '3344771005'
Group by a.CUSTNMBR, a.SOPNUMBE'
ORDER BY 2 ASC
试试这个:

Select top 1 a.CUSTNMBR, a.Tax_Date as first_date, a.SOPNUMBE 
from SOP30200 as a 
where a.CUSTNMBR = '3344771005' 
order by a.Tax_Date asc

是的,基于不需要分组依据的问题,只需要排序依据和前1,只返回最顶层的行。