标签: case

SQL查询根据移动日期窗口有条件地求和

我试图弄清楚我的用户的一些滑动窗口统计信息.我有一个包含用户的表,以及created_at和verified_at等列.对于每个月,我想知道有多少用户注册了(由created_at的date_trunc创建的一个简单组),然后是那些人,在我的滑动窗口中验证了多少(称为60天).

我想做一个SQL查询,给我一些像:

Month    | Registered | Verified in 60 days
Jan 2009 | 1543       | 107
Feb 2009 | 2000       | 250
Run Code Online (Sandbox Code Playgroud)

我正在使用postgresql.我开始看sum(case ...),但我不知道我是否可以让我的情况以某种方式依赖于date_trunc.

当然,这不起作用,但这里的想法是:

SELECT DATE_TRUNC('month', created_at) as month, 
COUNT(*) as registered,
SUM(CASE WHEN verified_at < month+60 THEN 1 ELSE 0 END) as verified
FROM users
GROUP BY DATE_TRUNC('month', created_at)
Run Code Online (Sandbox Code Playgroud)

sql postgresql case

18
推荐指数
1
解决办法
2万
查看次数

switch语句中的最终变量大小写

        final int a = 1;
        final int b;
        b = 2;
        final int x = 0;

        switch (x) {
            case a:break;     // ok
            case b:break;     // compiler error: Constant expression required

        }
        /* COMPILER RESULT:
                constant expression required
                case b:break;
                     ^
                1 error
        */
Run Code Online (Sandbox Code Playgroud)

为什么我会遇到这种错误?如果我愿意final int b = 2,一切正常.

java final case switch-statement

18
推荐指数
2
解决办法
2万
查看次数

在Javascript中将字符串转换为Pascal Case(又名UpperCamelCase)

我想知道如何将字符串转换为javascript中的pascal case字符串(最常见的是regex).

转换示例:

  • 双桶=双桶
  • DOUBLE-BARREL = Double-Barrel
  • DoUbLE-BaRRel = Double-Barrel
  • 双桶=双桶

有关Pascal Case的更多信息,请查看此链接

javascript regex case

17
推荐指数
3
解决办法
2万
查看次数

如何将Map转换为Scala中的case类?

如果我有Map[String,String]("url" -> "xxx", "title" -> "yyy"),有没有办法将其一般转换为case class Image(url:String, title:String)

我可以写一个帮手:

object Image{
  def fromMap(params:Map[String,String]) = Image(url=params("url"), title=params("title"))
}
Run Code Online (Sandbox Code Playgroud)

但有没有办法一次性写一次地图到任何案例类?

scala class case map

17
推荐指数
2
解决办法
6830
查看次数

从抽象类继承的Case类

我正在学习Scala,我在设计案例类时遇到了一些问题.我需要两个具有相同属性的案例类.所以我认为从一个定义这些属性的抽象基类继承是个好主意.但是这段代码无法编译

abstract class Resource(val uri : String)

case class File(uri : String) extends Resource(uri)
case class Folder(uri : String) extends Resource(uri)
Run Code Online (Sandbox Code Playgroud)

因为uri在这种情况下类构造函数会覆盖uri基类的属性.

设计这个的正确方法是什么?

我希望能够做这样的事情

val arr = Array[Resource](File("test"), Folder("test2"))

arr.foreach { r : Resource => r match {
  case f : File => println("It's a file")
  case f : Folder => println("It's a folder")
} }
Run Code Online (Sandbox Code Playgroud)

"等效"Java代码应该是这样的

abstract class Resource {
   private String uri;

   public Resource(String uri) {
       this.uri = uri
   }

   public String getUri() { …
Run Code Online (Sandbox Code Playgroud)

inheritance scala class case

17
推荐指数
2
解决办法
1万
查看次数

为什么Clojure的多方法比'if'或'case'语句更好

我花了一些时间,试图理解Clojure多方法.据我所知,主要的"亲"多方法论证是他们的灵活性,然而,我对为什么多方法比简单的if或case语句更好的论证感到困惑.请有人解释一下,多态性与过度的案例陈述之间的界限在哪里?

编辑:我应该更清楚这个问题,我对'if'语句比较感兴趣.非常感谢您的回答!

polymorphism case clojure switch-statement multimethod

17
推荐指数
2
解决办法
1374
查看次数

MySQL中的嵌套CASE语句

我第一次在SQL语句中使用CASE Logic.如果我删除CASE语句,一切都有效,所以SQL没有它就有效.

我需要根据几件事来计算物品总价.

如果"销售价格" 有效并且"期权增加"有一个值,则总数为:数量*(销售价格+期权增加)

如果"销售价格无效且 "选项增加"有一个值,则总数为:数量*(价格+期权增加)

如果"销售价格" 处于活动状态且 "期权增加"没有值,则总计为:数量*销售价格

如果"销售价格无效且 "选项增加"没有价值,则总数为:数量*价格

如果未添加任何选项,则输出中tblproduct_options.option_upcharge的值为NULL.

谢谢您的帮助.

布雷特

这是我的SQL:

SELECT tblshopping_cart.session_id, tblshopping_cart.product_id, tblshopping_cart.product_qty, tblshopping_cart.product_option, tblproducts.product_title, tblproducts.product_price, tblproducts.product_sale_price_status, tblproducts.product_sale_price, tblproduct_options.option_text, tblproduct_options.option_upcharge,
CASE
WHEN (tblproducts.product_sale_price_status = 'Y')
    CASE
    WHEN (tblproduct_options.option_upcharge IS NOT NULL)
        THEN (tblshopping_cart.product_qty * (tblproducts.product_sale_price + tblproduct_options.option_upcharge)) 
        ELSE (tblshopping_cart.product_qty * tblproducts.product_sale_price)    
    END
ELSE
    CASE
    WHEN (tblproduct_options.option_upchage IS NOT NULL)
        THEN (tblshopping_cart.product_qty * (tblproducts.product_price + tblproduct_options.option_upcharge))
        ELSE (tblshopping_cart.product_qty * tblproducts.product_price)
    END
END AS product_total
FROM tblshopping_cart
INNER JOIN tblproducts …
Run Code Online (Sandbox Code Playgroud)

mysql case

17
推荐指数
3
解决办法
4万
查看次数

为什么"案例类"不需要"新"来创建新对象

在Scala中,您不需要使用"new"来创建新的"案例类"是什么原因?我现在试着寻找一段时间没有答案.

scala class case

17
推荐指数
3
解决办法
4163
查看次数

mac上bash中的大写字母到小写字母

我正在编写一个bash脚本,需要将字符串转换为小写.问题是我在mac上这样做,所以'tr'不可用.我怎么能在mac上这样做呢?

我试图解决的问题是我的脚本需要识别扩展名是.gif还是.jpg - 我不想检查.jpeg,.jPeg,.JPEG,.JPeg等等...如果有一种更聪明的方法,只需转换为小写并测试gif,jpg和jpeg,我都是耳朵:)

更新:
我是个白痴.
这个mac"没有"这些基本文本转换程序的原因是因为我在做一些测试时用"hello"覆盖了PATH> _ <

macos bash case

16
推荐指数
2
解决办法
1万
查看次数

使用别名在ORDER BY中添加Postgres CASE

我有以下查询在Postgres 9.1中很有用:

SELECT users.id, GREATEST(
 COALESCE(MAX(messages.created_at), '2012-07-25 16:05:41.870117'),
 COALESCE(MAX(phone_calls.created_at), '2012-07-25 16:05:41.870117')
) AS latest_interaction
FROM users LEFT JOIN messages ON users.id = messages.user_id
LEFT JOIN phone_calls ON users.id = phone_calls.user_id
GROUP BY users.id
ORDER BY latest_interaction DESC
LIMIT 5;
Run Code Online (Sandbox Code Playgroud)

但我想做的是这样的事情:

SELECT users.id, GREATEST(
 COALESCE(MAX(messages.created_at), '2012-07-25 16:05:41.870117'),
 COALESCE(MAX(phone_calls.created_at), '2012-07-25 16:05:41.870117')
) AS latest_interaction
FROM users LEFT JOIN messages ON users.id = messages.user_id
LEFT JOIN phone_calls ON users.id = phone_calls.user_id
GROUP BY users.id
ORDER BY
  CASE WHEN(
    latest_interaction > '2012-09-05 16:05:41.870117')
  THEN …
Run Code Online (Sandbox Code Playgroud)

sql postgresql case sql-order-by aggregate-functions

16
推荐指数
1
解决办法
2万
查看次数