sql >> データベース >  >> RDS >> Sqlserver

SQL で group by を使用して複数のフィールドのカウントを取得する

    select data.category, cl.combovalue as esilocation, cd.combovalue as esidispensary,
        year(date) as year, month(date) as month,
        sum(data.joins) as [Joining Count], sum(data.terms) as [Termination Count]
    from (
        select category, esilocation, esidispensary, dateofjoining as date,
               1 as joins, 0 as terms
        from dbo.employeedetail
        where dateofjoining is not null
        union all
        select category, esilocation, esidispensary, terminationdate as date,
               0 as joins, 1 as terms
        from dbo.employeedetail
        where terminationdate is not null
    ) data
    left join dbo.combovalues cl on cl.id = data.esilocation
    left join dbo.combovalues cd on cd.id = data.esidispensary
    where category in ( 1, 2 ) 
    and date >= '2014-01-01' 
    and date <= '2014-12-31'
    group by data.category, cl.combovalue, cd.combovalue, year(date), month(date)
    


    1. 名前付きパラメーターを使用したHibernateネイティブクエリの問題

    2. 読み取りがコミットされていない状態でTransactionScopeを使用する-SQLで(nolock)を使用する必要がありますか?

    3. AddBatch/withBatchを適切に使用してxmlタグ値をデータベーステーブルに一括挿入する方法

    4. SQLServer2017バックアップ-3