作者热门文章
- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
好的,所以我有两个正在使用的表 - project
和 service
,简化如下:
project
-------
id PK
name str
service
-------
project_id FK for project
time_start int (timestamp)
time_stop int (timestamp)
一对多关系。
现在,我想返回(最好使用一个查询)任意数量项目的列表,按花费在这些项目上的总时间排序,可通过 SUM(time_stop) - SUM(time_start ) WHERE project_id =
something.
到目前为止,我有
SELECT project.name
FROM service
LEFT JOIN project ON project.id = service.project_id
LIMIT 100
但我不知道如何ORDER BY
。
最佳答案
你需要一个 GROUP BY:
SELECT project.name
FROM service
LEFT JOIN project ON project.id = service.project_id
GROUP BY project_id
ORDER BY SUM(time_stop - time_start)
LIMIT 100
关于mysql - SQL中的查询设计-满足特定条件的行中字段的ORDER BY SUM(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2549316/
我是一名优秀的程序员,十分优秀!