【问题标题】:What is the sql query for this?这个的sql查询是什么?
【发布时间】:2010-02-10 15:26:01
【问题描述】:
Id  Project_Id       Activity_Time        Username
1      100        2008-01-01 11:12:13         A
2      100        2008-01-01 00:00:00         B
3      500        2008-02-01 00:00:00         C
4      300        2008-02-03 00:00:00         D
5      500        2008-03-03 11:11:11         A
6      300        2008-04-04 00:00:00         D
7      500        2008-05-05 00:00:00         C
8      200        2008-06-06 00:00:00         D
9      100        2009-01-01 11:12:13         A
10     300        2010-01-01 01:02:03         A

根据以下输入选择 Project_Id 的 sql 查询是什么:

  1. 对于给定的用户名
  2. 按 Activity_Time 排序 - 最新在前
  3. 不同的 Project_Id
  4. 只有 10 行

我尝试了几个查询都没有成功,所以在这里寻求帮助。 目前使用的是 H2 数据库,但它会在一段时间内发生变化。

[更新]这是一个真正的项目要求,不是家庭作业,我是新手,请不要开玩笑,我正在学习。

【问题讨论】:

  • 你的数据库管理系统是什么?
  • 你期望看到的样本比你对你想要的描述更好。
  • 看起来很像家庭作业。
  • 向我们展示您尝试了什么,以及为什么它没有奏效,您将从自己的错误中学到更多,而不是我们只是为您提供解决方案。
  • 当涉及到按行数限制的语法时,DBMS 的风格确实很重要。

标签: sql h2


【解决方案1】:

如果没有完全工作,这应该是一个好的开始......

SELECT TOP 10 
    project_ID, max(activity_time) as activity_time
FROM
    table_name
WHERE
    username = usernameVariable
GROUP BY 
    project_id
ORDER BY 
    activity_time DESC

【讨论】:

  • 执行上述查询时抛出以下异常:在这种情况下,按表达式 ACTIVITY_TIME 排序必须在结果列表中; SQL 语句:
  • 现在不需要 DISTINCT。
猜你喜欢
  • 1970-01-01
  • 2011-03-12
  • 1970-01-01
  • 1970-01-01
  • 2014-03-12
  • 2022-07-22
  • 2013-04-14
  • 1970-01-01
  • 2016-12-11
相关资源
最近更新 更多