SQL - 如果某个值等于某个数字,则行数应等于该某个数字

标签 sql sql-server-2008 t-sql

场景:我的 select 语句中有 1 列;我想要根据名为 Number 的计算字段的值重复的名称,使用如下的 case 语句计算

Case when number<0.95 then 0
when number>=1 then 10.... END AS Number.

示例 Jim W 的 Number 值为 6,所以我希望 SQL 语句返回 6 行,其中包含 Jim W 的姓名。

姓名
吉姆·W
吉姆·W
吉姆·W
吉姆·W
吉姆·W
吉姆·W

其他需要注意的一点是,它应该按名为“region”的列及其 SQL Server 2008 进行分组。

这可能吗?

谢谢

最佳答案

试试这个:

在sql server中执行此操作的最简单方法是与系统表master..spt_values连接 前提是每个名称的重复次数应小于 2048

select T.Name from test12 T join master..spt_values M
on T.number>M.number
where type='p'

SQL Fiddle Demo

关于SQL - 如果某个值等于某个数字,则行数应等于该某个数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11738083/

相关文章:

mysql - 在单个 SQL 查询中修剪、转换和比较来自 SQL DB 的字符串

sql-server-2008 - 无法连接到数据库,用户登录失败

sql-server-2008 - SQL Server 2008 日志中每隔几分钟出现 'Starting up datebase ' xxx' 正常吗?

sql - 存储过程的结果与 SSMS 查询不同

sql - MS SQL Server 2000 可以处理用 Unicode 编码的中文文本吗?

SQL Server : Insert if doesn't exist, 否则更新并插入到另一个表中

sql - 是否可以直接选择 EXISTS 作为位?

mysql - 我怎样才能使这个查询在 D7 中工作?

sql - 递增整数 MSSQL

t-sql - 您可以在 JOIN w/SQL 上使用 LIKE 运算符进行更新吗?