选择A列,其中列B = 1
我有这个表平均选择A列,其中列B = 1
我想
select * from table where VhrNum=MIN(VhrNum) and EmptyOrNot=1
我试过这个查询,但它不工作
的最小值select *
from Average
where Itmnum='1'
and VhrNum = (
select MIN(VhrNum)
from (
select *
from Average
where EmptyOrNot = '1'
)
)
在我的情况下,应该选择第三排
为什么不只是采取top 1
行和order by
的列?
SELECT TOP 1 *
FROM [table]
WHERE EmptyOrNot=1
ORDER BY VhrNum
这对我来说是完美的 尽管我没有问好我的问题,但你得到它 非常感谢你 –
你可以尝试这样的
SELECT MIN(VhrNum) FROM table_name where EmptyOrNot=1;
这是工作,如果我只想VhrNum列值,但我需要所有列 并感谢帮助:) –
使用TOP 1
与ORDER BY
select Top 1 * from table where EmptyOrNot=1
Order by VhrNum ASC
如果超过一个纪录分钟VhrNum
价值,并且希望所有的领带记录,然后使用TOP 1 WITH TIES
select Top 1 With Ties * from table where EmptyOrNot=1
Order by VhrNum ASC
聚合函数需要一个GROUP BY
- 或者你可以ORDER BY
并选择第一个。
Aggregate不会让你做一个SELECT *
,这实际上并不是很好的做法,总的来说,你确实试图得到这个MIN
。 TOP 1/ORDER BY
会让你做一个SELECT *
,但可能不太清楚,你真正想要得到的是MIN(VhrNum)
。
总结:
SELECT MIN(VhrNum)
FROM Average
WHERE EmptyOrNot = 1
GROUP BY EmptyOrNot
上:
SELECT TOP(1) VhrNum, *
FROM Average
WHERE EmptyOrNot = 1
ORDER BY VhrNum ASC
你可以试试这个:
select top 1 * from table where VhrNum= (select min(VhrNum) from table);
沿着这条线已经给出了更好的答案,没有'order by'的'top'给出非确定性结果。你也缺少'emptyOrNot'和'Itmnum'标准 – HoneyBadger
请发表的数据作为文本 – TheGameiswar
“它不工作” 是没有问题的描述。什么不起作用?错误?那么错误是什么。意外的结果?那么结果如何? – HoneyBadger
为什么第三排? 'MIN()'返回最小值 - 在你的情况下这是“1”,并且没有数据集,其中'VhrNum = 1'AND'EmptyOrNot ='1'' –