mysql选择第一行_如何选择MySQL中每个组的第一行?

在C#中它将是这样:

table

.GroupBy(row => row.SomeColumn)

.Select(group => group

.OrderBy(row => row.AnotherColumn)

.First()

)

Linq-To-Sql将其转换为以下T-SQL代码:

SELECT [t3].[AnotherColumn], [t3].[SomeColumn]

FROM (

SELECT [t0].[SomeColumn]

FROM [Table] AS [t0]

GROUP BY [t0].[SomeColumn]

) AS [t1]

OUTER APPLY (

SELECT TOP (1) [t2].[AnotherColumn], [t2].[SomeColumn]

FROM [Table] AS [t2]

WHERE (([t1].[SomeColumn] IS NULL) AND ([t2].[SomeColumn] IS NULL))

OR (([t1].[SomeColumn] IS NOT NULL) AND ([t2].[SomeColumn] IS NOT NULL)

AND ([t1].[SomeColumn] = [t2].[SomeColumn]))

ORDER BY [t2].[AnotherColumn]

) AS [t3]

ORDER BY [t3].[AnotherColumn]

但它与MySQL不兼容。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值