问一个查询数据库的问题,谢谢!
我有这样的数据表:
+-----------+------------+-------------+
/ attid / userid / lasttime /
+-----------+------------+-------------+
/ 7 / 1 / 1 /
/ 10 / 5 / 2 /
/ 10 / 4 / 3 /
/ 7 / 2 / 4 /
+-----------+------------+-------------+
我的目的是查询按照attid分组,并且按照lasttime排序。我希望的查询结果应该如下:
+-----------+------------+-------------+
/ attid / userid / lasttime /
+-----------+------------+-------------+
/ 7 / 2 / 4 /
/ 10 / 4 / 3 /
+-----------+------------+-------------+
简单点就是这个意思:
如果有多条attid相同的记录,我只要一条。但我要得这条并不是按照表中记录的顺序的第一条,而是选择lasttime最大的一条。比如:
23 345
23 567
23 120
这样两条记录我只需要中间那条,也就是:
23 567
这条,请问这个SQL语句改如何写?
我是这样写的:
SELECT * FROM tb1 GROUP BY attid ORDER BY lasttime DESC
但查询结果不对,这样得到的查询结果是:
+-----------+------------+-------------+
/ attid / userid / lasttime /
+-----------+------------+-------------+
/ 10 / 5 / 2 /
/ 7 / 1 / 1 /
+-----------+------------+-------------+
+-----------+------------+-------------+
/ attid / userid / lasttime /
+-----------+------------+-------------+
/ 7 / 1 / 1 /
/ 10 / 5 / 2 /
/ 10 / 4 / 3 /
/ 7 / 2 / 4 /
+-----------+------------+-------------+
我的目的是查询按照attid分组,并且按照lasttime排序。我希望的查询结果应该如下:
+-----------+------------+-------------+
/ attid / userid / lasttime /
+-----------+------------+-------------+
/ 7 / 2 / 4 /
/ 10 / 4 / 3 /
+-----------+------------+-------------+
简单点就是这个意思:
如果有多条attid相同的记录,我只要一条。但我要得这条并不是按照表中记录的顺序的第一条,而是选择lasttime最大的一条。比如:
23 345
23 567
23 120
这样两条记录我只需要中间那条,也就是:
23 567
这条,请问这个SQL语句改如何写?
我是这样写的:
SELECT * FROM tb1 GROUP BY attid ORDER BY lasttime DESC
但查询结果不对,这样得到的查询结果是:
+-----------+------------+-------------+
/ attid / userid / lasttime /
+-----------+------------+-------------+
/ 10 / 5 / 2 /
/ 7 / 1 / 1 /
+-----------+------------+-------------+
...全文
相关推荐
oracle傻瓜问题1000问
oracle傻瓜问题1000问
java多线程查询数据库
java多线程并发查询数据库,使用线程池控制分页,并发查询。
C#异步操作 异步查询数据库 异步处理一行一行加载数据
C#异步操作 异步查询数据库 异步处理一行一行加载数据
Django 查询数据库并返回页面的例子
今天小编就为大家分享一篇Django 查询数据库并返回页面的例子,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
智能问数Text2SQL教程[项目代码]
本文介绍了基于大模型的智能问数Text2SQL技术,该技术能够将自然语言转换为数据库指令(SQL),使得普通人无需编程知识即可通过日常语言查询数据库。文章详细讲解了如何使用Dify平台实现一个智能问数仓库查询助手,包括数据准备、SQL生成、执行和结果解析等步骤。核心节点包括LLM生成SQL语句、代码执行提取SQL、迭代循环执行SQL以及拼接和解析查询结果。此外,文章还提供了验证测试和总结,强调了通过大语言模型实现自然语言到SQL转换的核心思想。最后,作者推荐了系列教程,并邀请读者关注公众号获取更多资源。


