# 选择器(解散键盘) (点击) } @ objecc func distisKeyboard (_ sender: UITapGestureIdentiizer){ 相当于 COUNTIF 聚合函数的 SqlServer

ResignFirstResponder () }

我用一个 GROUP BY子句构建了一个查询,它需要仅根据某个条件计数记录的能力(例如,只计数某个列值等于1的记录)。

SELECT  UID,
COUNT(UID) AS TotalRecords,
SUM(ContractDollars) AS ContractDollars,
(COUNTIF(MyColumn, 1) / COUNT(UID) * 100) -- Get the average of all records that are 1
FROM    dbo.AD_CurrentView
GROUP BY UID
HAVING  SUM(ContractDollars) >= 500000
是1

由于没有称为 COUNTIF的本机 SQL 函数,COUNTIF()行显然失败了,但是这里的想法是确定 MyColumn 的值为“1”的所有行的百分比。

来自 dbo.AD _ CurrentView

关于如何在 MSSQL2005环境中正确实现这一点,您有什么想法吗?

438211 次浏览
Cell.titleLabel.backgroundColor = [ UIColor clearColor ] ; }

如果您已经将 UITableView 设置为在属性检查器中自定义,那么也可以这样做。

优点: 将您的意图表示为 COUNT 行,而不是使用 SUM ()表示法。 缺点: 不清楚它是如何工作的(“魔术”通常是坏的)。

我试图让图像显示在 WPF 的 ListView 风格像 WrapPanel 在这个旧的 ATC 阿瓦隆团队文章中描述的: 如何创建自定义视图

之前,ms 集合必须为空

当我试图用一个 LINQ 到实体查询的 Entity Framework 对象集合来填充 ListView 时,我得到了下面的例外:

使用 ItemsSource。

例外

我的代码 & 帮助;

VisualBasic

Private Sub Window1_Loaded(...) Handles MyBase.Loaded
ListViewImages.ItemsSource = From g In db.Graphic _
Order By g.DateAdded Ascending _
Select g
End Sub

项集合之前必须为空

XAML

<ListView Name="ListViewImages"
SelectionMode="Single"
ItemsSource="{Binding}">
<local:ImageView />
</ListView>
使用 ItemsSource。

我的代码 & 帮助;

VisualBasic

Private Sub Window1_Loaded(...) Handles MyBase.Loaded
ListViewImages.ItemsSource = From g In db.Graphic _
Order By g.DateAdded Ascending _
Select g
End Sub

我在这一行上放了一个断点。 ListViewImages.ItemsSource就是在 LINQ 赋值之前的 Nothing

没有 <ListView.View>的标签。

不是特定于产品的,而是 SQL 标准提供的

SELECT COUNT() FILTER WHERE <condition-1>,
COUNT() FILTER WHERE <condition-2>, ...
FROM ...

在一个稍微不同的场景中,我有一段时间出现了同样的错误。原因是 XAML 无效,因为丢失了一些标记。

或者类似的东西,我一下子不知道。

是的

<wpftoolkit:DataGrid
AutoGenerateColumns="False"
ItemsSource="{Binding Path=Accounts}" >
<wpftoolkit:DataGridTextColumn
Header="Account Name"
Binding="{Binding Path=AccountName}" />
</wpftoolkit:DataGrid>

当然,供应商更愿意坚持他们的专有解决方案。

为什么不像这样?

SELECT count(1)
FROM AD_CurrentView
WHERE myColumn=1

一切都很好。

Value = “{ Binding IsSelected,Mode = TwoWay }”/>

例外

项集合在使用 ItemsSource 之前必须为空。

>

将项目添加到 ItemsSource 通过不同渠道时发生此异常

注意缺少的 ItemsSource="{Binding MyItems}"部分。

确保您没有意外地 < strong > 漏掉一个标记、错放了一个标记、添加了额外的标记或者写错了一个标记。

<!--Right-->


<ItemsControl ItemsSource="{Binding MyItems}">
<ItemsControl.ItemsPanel.../>
<ItemsControl.MyAttachedProperty.../>
<FrameworkElement.ActualWidth.../>
</ItemsControl>




<!--WRONG-->


<ItemsControl ItemsSource="{Binding MyItems}">
<Grid.../>
<Button.../>
<DataTemplate.../>
<Heigth.../>
</ItemsControl>

在我的示例中,我必须使用 COUNTIF ()作为 SELECT 列的一部分,并且模拟每个项目在结果中出现的次数的% 。

虽然已经通过 Binding设置了 ItemsControl.ItemsSource,但是不能将其他项目(Grid、 Button、 ...)添加到源代码中。

所以我用了这个。

SELECT COL1, COL2, ... ETC
(1 / SELECT a.vcount
FROM (SELECT vm2.visit_id, count(*) AS vcount
FROM dbo.visitmanifests AS vm2
WHERE vm2.inactive = 0 AND vm2.visit_id = vm.Visit_ID
GROUP BY vm2.visit_id) AS a)) AS [No of Visits],
COL xyz
FROM etc etc

当然,您需要根据显示要求对结果进行格式化。

SELECT COALESCE(IF(myColumn = 1,COUNT(DISTINCT NumberColumn),NULL),0) column1,
COALESCE(CASE WHEN myColumn = 1 THEN COUNT(DISTINCT NumberColumn) ELSE NULL END,0) AS column2
FROM AD_CurrentView

IIFCASE WHEN MyColumn = 42 THEN 1 ELSE 0 END的快捷方式。

(请参阅英文版)