首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >排序MySQL表中的复杂记录

排序MySQL表中的复杂记录
EN

Stack Overflow用户
提问于 2021-11-29 06:49:45
回答 1查看 90关注 0票数 2

我正在做一个个人项目,我被困在清理特定数据集的阶段。数据集由访问不同停车站点(具有唯一AgentID)的代理(具有唯一ParkingID)的记录组成。他正在使用一个应用程序在数据库中输入他的记录。当代理进入停车场时,他按下登录按钮,离开时在应用程序中按注销(代理可以多次按该按钮,因此有可能重复登录和注销记录)。当他/她访问一个停车场时,他/她可以在那个地方遇到某些人时拿出一些罚单,从而在应用程序中标记Tickets Finished。问题是进入数据库的数据只被排序到分钟阶段。因此,具有相同时间的记录可以在数据库中以不同的方式出现。下面显示了这样一个虚拟数据集。

我想把它分类,第一个结束的事件应该出现在顶部,然后结束的事件应该出现在末尾。我想要的输出如下所示。

我不知道如何在MySQL中解决这个问题,如果你们中的任何人能帮助我解决这个问题,那么这将对你们非常有帮助。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-11-29 07:17:34

CASE WHEN进行排序以打破领带。

代码语言:javascript
复制
SELECT *
FROM parking_agent_logs
ORDER BY `Date`, `Time`, ParkingID, AgentID
, CASE Event_Type 
  WHEN 'Log In' THEN 1
  WHEN 'Ticket Finished' THEN 2
  WHEN 'Log Out' THEN 3
  ELSE 9
  END

db<>fiddle https://dbfiddle.uk/?rdbms=mariadb_10.6&fiddle=bcecba2709efb4bd80357c7219c1254b的测试

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70150721

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档