مرجع تخصصی برنامه نویسان

انجمن تخصصی برنامه نویسان فارسی زبان

کاربر سایت

iran

عضویت از 1394/01/31

distinct براساس تاریخ ثبت

  • یکشنبه 17 مرداد 1395
  • 10:58
تشکر میکنم

سلام 
فرض کنید جدول زیر را داریم 

CREATE TABLE [dbo].[test](
 
    [Date] [date] NULL,
    [Number] [int] NULL,
 
)

و داده های زیر را داخلش ثبت کرده ایم 

insert into [dbo].[test] ([Date],[Number])values('2016-07-22',null)
insert into [dbo].[test] ([Date],[Number])values('2016-07-23',9)
insert into [dbo].[test] ([Date],[Number])values('2016-07-24',2)
insert into [dbo].[test] ([Date],[Number])values('2016-07-25',13)
insert into [dbo].[test] ([Date],[Number])values('2016-07-26',55)
insert into [dbo].[test] ([Date],[Number])values('2016-07-27',45)
insert into [dbo].[test] ([Date],[Number])values('2016-07-28',67)
insert into [dbo].[test] ([Date],[Number])values('2016-07-29',12)
insert into [dbo].[test] ([Date],[Number])values('2016-07-30',9)
insert into [dbo].[test] ([Date],[Number])values('2016-07-31',2)
insert into [dbo].[test] ([Date],[Number])values('2016-08-01',13)
insert into [dbo].[test] ([Date],[Number])values('2016-08-02',55)
insert into [dbo].[test] ([Date],[Number])values('2016-08-03',45)
insert into [dbo].[test] ([Date],[Number])values('2016-08-04',67)
insert into [dbo].[test] ([Date],[Number])values('2016-08-05',null)
insert into [dbo].[test] ([Date],[Number])values('2016-08-06',12)
insert into [dbo].[test] ([Date],[Number])values('2016-08-07',9)
insert into [dbo].[test] ([Date],[Number])values('2016-08-08',null)
insert into [dbo].[test] ([Date],[Number])values('2016-08-09',2)
insert into [dbo].[test] ([Date],[Number])values('2016-08-10',13)
insert into [dbo].[test] ([Date],[Number])values('2016-08-11',null)
insert into [dbo].[test] ([Date],[Number])values('2016-08-12',55)
insert into [dbo].[test] ([Date],[Number])values('2016-08-13',45)
insert into [dbo].[test] ([Date],[Number])values('2016-08-14',null)
insert into [dbo].[test] ([Date],[Number])values('2016-08-15',67)
insert into [dbo].[test] ([Date],[Number])values('2016-08-16',12)

حال من کد زیر را نوشته ام 

select distinct(number) from test

 

و خروجی ان بصورت 

NULL
2
9
12
13
45
55
67

اما من می خواهم 
1)NULL را نمایش ندهد 
2) براساس تاریخ که ثبت شده است عمل distinct انجام شود 
یعنی در مثال بالا خروجی را بصورت زیر می خواهم 

9,
2,
13,
55,
45,
67,
12

درضمن اعداد ثابت می باشند 
چگونه باید کد بنویسم 
باتشکر 

پاسخ های این پرسش

تعداد پاسخ ها : 2 پاسخ
کاربر سایت

ایمان مدائنی

عضویت از 1392/01/20

  • یکشنبه 17 مرداد 1395
  • 11:08

کافیست یک Where اضافه کنید

select distinct(number) from test WHERE number IS NOT NULL

 

کاربر سایت

iran

عضویت از 1394/01/31

  • یکشنبه 17 مرداد 1395
  • 11:20

سلام

جواب درست را این روش برنمیگرداند دراین روش براساس ردیف ثبت نیست و اعدا را از کوچک به بزرگ نمایش میدهد 
من می خواهم  براساس تاریخ که ثبت شده است عمل distinct انجام شود  نه براساس عدد ثبتشده

کاربرانی که از این پست تشکر کرده اند

هیچ کاربری تا کنون از این پست تشکر نکرده است

اگر نیاز به یک مشاور در زمینه طراحی سایت ، برنامه نویسی و بازاریابی الکترونیکی دارید

با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)