我有一個表Orders
按日期選擇行和排除行已最新記錄
Name DateOrdered
louie 01/50/2017
jonathan 02/06/2016
prince 05/23/2016
louie 07/02/2016
我想選擇在今年的記錄,例如2016,但我想結果只顯示jonathan
和prince
因爲louie
2017年有最新記錄,該如何查詢?提前致謝。
我有一個表Orders
按日期選擇行和排除行已最新記錄
Name DateOrdered
louie 01/50/2017
jonathan 02/06/2016
prince 05/23/2016
louie 07/02/2016
我想選擇在今年的記錄,例如2016,但我想結果只顯示jonathan
和prince
因爲louie
2017年有最新記錄,該如何查詢?提前致謝。
使用子查詢。例如,在處理SQL(Sybase ASE的)
Select from orders a
Where DateOrdered != (select min(dateordered) from orders b
where convert(char(04),dateordered)=convert(char(04),a.dateordered))
轉換功能是從dateordered
我希望這將是有益的領域比較年份部分
如果您使用以下日期排序查詢查詢可以去掉最上面一行:
declare @Total INT;
declare @requiredRows INT;
Select @Total= Count (*) From Orders
SET @requiredRows = @Total -1;
Select * From(
Select TOP (@requiredRows) * From Orders
Order By DateOrdered ASC) As tbl
Order By DateOrdered DESC
您可以使用「YEAR」功能,從dateOrdered列中提取年
請嘗試下面的示例查詢。
SELECT * from Orders WHERE YEAR(DateOrdered) = '2016' AND name !=
'louie';
的可能的複製[如何選擇WHERE NOT EXIST使用LINQ?](https://stackoverflow.com/questions/9031008/how-to-select-where-not-exist-using-linq) – maSTAShuFu
我必須在同一張表中檢查它 –