- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我最近反复遇到以下情况,我需要将 MAX() 或 SUM() 应用于表中的一列,但我需要为其他列设置不同的值集。
例如,请考虑下表和表示登录 StackOverflow 的详细信息的相关列。
SoUserLogins (OpenIdToken, Name, IpAdress, LoginTimeStamp, QuestionsAsked)
我可能想要一个包含用户及其上次登录的结果集。
SELECT DISTINCT
OpenIdToken,
MAX(LoginTimeStamp)
INTO #tmpLastLogin
FROM SoUserLogins
GROUP BY OpenIdToken
但我需要与其他列不同的值。我将把它包装在一个公用表表达式 (CTE) 中,因为我稍后会用到它并且不想清理另一个临时表。
;WITH tmpLastLogin_CTE AS (
SELECT DISTINCT
SOL.OpenIdToken, SOL.Name, SOL.IpAdress, SOL.QuestionsAsked
TTL.LastLogin
FROM SoUserLogins SOL
JOIN #tmpLastLogin TLL ON SOL.OpenIdToken = TLL.OpenIdToken
)
--Extra SQL using tmpLastLogin_CTE goes here
您可以将上面代码中的 MAX(LoginTimeStamp) 更改为 SUM(QuestionsAsked),并进行一些额外的调整以查看类似示例。
我的问题是,是否有更简洁或更优雅的方式来处理这些情况?
我正在使用 SQL Server。
最佳答案
你是这个意思吗?
SELECT DISTINCT
SOL.OpenIdToken, SOL.Name, SOL.IpAdress, SOL.QuestionsAsked,
MAX(LoginTimeStamp) OVER (PARTITION BY OpenIdToken) AS LastLogin
FROM SoUserLogins SOL
因此,每个 OpenIdToken
将有多个行,并且相同的 LastLogin
值将对组内的所有行重复?
关于sql - 如何更干净地将 sql 聚合函数与 distinct 结合起来?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3826459/
我正在尝试执行 vagrant up 但一直遇到此错误: ==> default: IOError: [Errno 13] Permission denied: '/usr/local/lib/pyt
我在容器 div 中有一系列动态创建的不同高度的 div。 Varying text... Varying text... Varying text... Varying text.
通过 cygwin 运行 vagrant up 时遇到以下错误。 stderr: /bin/bash: /home/vagrant/.ansible/tmp/ansible-tmp-14872260
今天要向小伙伴们介绍的是一个能够快速地把数据制作成可视化、交互页面的 Python 框架:Streamlit,分分钟让你的数据动起来! 犹记得我在做机器学习和数据分析方面的毕设时,
我是 vagrant 的新手,正在尝试将第二个磁盘添加到我正在用 vagrant 制作的虚拟机中。 我想出了如何在第一次启动虚拟机时连接磁盘,但是当我关闭机器时 然后再次备份(使用 'vagrant
我是一名优秀的程序员,十分优秀!