1. SQL / Говнокод #11854

    −121

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    SELECT ISNULL(SUM(1), 0) 
     FROM Stat_DailySnapshotPurchases
     WHERE 1=1
      AND ForDate BETWEEN '2012-08-01' AND '2012-09-14'
      AND ItemType = 4

    Оригинальный способ подсчета количества строк

    Запостил: leon_mz, 01 Октября 2012

    Комментарии (1) RSS

    • Недавно понадобилось в одном запросе, в разных колонках выводить подсчет строк, с разными условиями (в зависимости от условия разные значения в колонке).
      я вспомнил этот говнокод и решил свою задачу так:
      select suser_name(suid) as login , program_name=isnull(program_name, "NULL"),
      total=count(1),
      waiting= sum(
          case
               when ( cmd="AWAITING COMMAND" and datediff(ss,loggedindatetime,getdate()) > 60 ) then 1
               else 0
          end)
      from master..sysprocesses
      where suid > 0 
      group by suser_name(suid) ,program_name
      order by waiting desc


      Теперь читаю другие говнокодоы, и понимаю что некоторые из них есть где применить.
      мне холодно и страшно.
      Ответить

    Добавить комментарий