sql - Access 2016 仅在字段包含不同文本的情况下返回第一条记录
问题描述
我正在尝试编写一个查询来返回表中每个组的第一条记录。
该表包含多个重复的 playerId,并且一些 BowlingStyle 字段包含不同的文本(大多数是相同的)。
我只想返回带有第一个保龄球样式的 playerIds 列表。
我认为这会起作用,但它仍然返回多个 playerId,其中 BowlingStyle 字段包含不同的文本。
谁能看到我做错了什么?
谢谢
SELECT First(Lineups.playerId), First(Lineups.bowlingStyle)
FROM Lineups
GROUP BY Lineups.playerId, Lineups.bowlingStyle;
解决方案
FIRST()
如果数据集没有排序,则函数返回的值是任意的。
因此,从按id
(自动编号)或日期(如果存在)之类的列对表进行排序的查询中进行选择,然后group by playerId
仅:
SELECT playerId, First(bowlingStyle) AS First_bowlingStyle
FROM (SELECT * FROM Lineups ORDER BY id)
GROUP BY playerId
推荐阅读
- php - Composer 忽略我的本地 repo 包并尝试从远程 VCS repo 下载它
- amazon-web-services - 可以从云事件本地调试 AWS Lambda 吗?
- ios - 我可以用可完成的方式将平面映射到其他流吗?
- flutter - 如何实现实时 fl_chart 颤振?
- powershell - 将过滤器应用于 Test-NetConnection 结果管道
- javascript - 带有“IntersectionObserver”的 CSS 动画不起作用(Vanilla JS)
- android - 使用 Javascript Web Push PWA 时更改 Android 上的通知图标/徽章/标题颜色
- angular-grid - 在 Angular-Slickgrid 中默认选中或选中所有行复选框和标题行复选框
- javascript - Vue.js 将子组件导入组件
- jquery - 如何通过 jquery ajax 以 json 格式保存数据