所以,让我说我有一个名为xjet的数据库和一个名为samples的表,其中我有3个样本的列:Id,频率和温度。它看起来像这样:
Id = 1,频率= 10000,温度= 50
Id = 2,频率= 10000,温度= 30
Id = 3,频率= 10000,温度= 50
我希望没有列显示其值始终相同的列,因此在这种情况下我希望查询显示:
Id = 1,温度= 50
Id = 2,温度= 30
Id = 3,温度= 50
当然假设我不知道未来温度和频率的值。我该怎么做这样的查询? 我使用MySqli和PHP是否相关
答案 0 :(得分:0)
我没有坐在LAMP设置中,但是你可以这样写这样的东西。 (使用ms sql2008)它非常类似于mysql命令。是什么让你的查询有点模糊,你打算通过频率吗?你没有显示频率的原因是什么/某人会知道频率值的分组?
创建测试表并加载值:
create table #testTable
(
id int identity(1,1),
Frequency int default null,
Temperature decimal default null
)
INSERT into #testTable (Frequency, Temperature)
VALUES
(10000, 50),
(10000, 30),
(10000, 50)
;
declare @someValue int = 10000;
select
tt.id,
tt.Temperature
from
#testTable tt
where
tt.Frequency = @someValue
上面的代码只适用于一个值。
现在你说你不知道频率,下面的代码会为你提供结果,因为你没有提供频率。以下代码的问题是您可以通过输出查看行的分组方式。 (下面的代码只使用上面的表格。)
select
z.id,
z.Temperature
from
(
select distinct frequency from #testTable tt group by tt.Frequency
) as t
inner join #testTable z on t.Frequency = z.Frequency;
答案 1 :(得分:0)
我最终通过使用PHP来解决它...谢谢大家的回复