按日期选择行并排除具有最新记录的行

时间:2017-10-10 02:15:42

标签: sql linq

我有一张表join_buffer_size

[FromBody]

我希望按年选择记录,例如2016年,但我希望结果仅显示[HttpPost] public async Task<IActionResult> Login([FromBody]LoginModel model) { //...code removed for brevity } Orders,因为Name DateOrdered louie 01/50/2017 jonathan 02/06/2016 prince 05/23/2016 louie 07/02/2016 在2017年有最新记录,如何查询?提前致谢。

3 个答案:

答案 0 :(得分:2)

尝试以下示例查询。

 SELECT * from Orders WHERE YEAR(DateOrdered) = '2016' AND name != 
'louie';

答案 1 :(得分:0)

使用子查询。例如,在transact 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))

转换功能是比较来自字段日期的年份部分

我希望它会有用

答案 2 :(得分:0)

如果您使用下面的日期对查询进行排序,则可以删除顶行:

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

您可以使用&#39;年份&#39;函数从dateOrdered列中提取年份